所以我需要编写一个查询,它将使用空表返回由4列组成的单行数据。我还需要指定将返回的列的名称。 我不能在查询中使用以下单词:insert,update,delete,drop,create,union,minus,intersect,order by。
例如,查询可以返回:
|课程|状态|学期|年|
|数学| (null)| s1 | 2013 |
我不确定如何描述我追求的内容,如果您需要更多详细信息,请告诉我。
答案 0 :(得分:2)
在SELECT
和Selecting from the DUAL Table
SELECT 'math' course
,NULL status
,'s1' semester
,2013 year
FROM dual;
输出:
| COURSE | STATUS | SEMESTER | YEAR |
-------------------------------------
| math | (null) | s1 | 2013 |
<强> SQLFiddle 强>
由于您只返回常量值,因此您可以使用您想要的任何表名(不仅仅是dual
),如果它存在于您的模式中。但是Oracle中存在dual
专门针对此类需求。
答案 1 :(得分:2)
如果在Oracle中需要单行结果,则可以使用名为dual
的特殊表。它有一行,所以你得到一行。请注意,在下面的选择中,我们没有从dual
获取任何实际值,它只是用于给我们一行,我们选择常量。
SELECT 'Math' AS Course,
NULL AS Status,
's1' AS Semester,
'2013' AS Year
FROM DUAL;
(旁白:这看起来像一个奇怪的问题 - 空表在这里没有帮助。或者你的意思是,只有当表是空的时候?)