所以我需要编写一个查询,该查询将使用一个空表返回由 4 列组成的单行数据。我还需要指定将返回的列的名称。我不能在查询中使用以下词:插入、更新、删除、删除、创建、联合、减号、相交、排序依据。
因此,例如查询可以返回:
|课程 | 状态 | 学期 | 年份|
|数学 | (空) | s1 | 2013|
我不确定如何描述我所追求的,所以如果您需要更多详细信息,请告诉我。
SELECT 'math' course
,NULL status
,'s1' semester
,2013 year
FROM dual;
输出:
| COURSE | STATUS | SEMESTER | YEAR |
-------------------------------------
| math | (null) | s1 | 2013 |
由于您只返回常量值,因此您可以使用您想要的任何表名(不仅仅是dual
),如果它存在于您的模式中。但是dual
Oracle中专门针对这样的需求而存在。
当您需要 Oracle 中的单行结果时,您可以使用一个名为dual
. 这里面有一排,所以你得到一排。请注意,在下面的选择中,我们没有从中获取任何实际值dual
,它只是用来给我们一行,我们选择常量。
SELECT 'Math' AS Course,
NULL AS Status,
's1' AS Semester,
'2013' AS Year
FROM DUAL;
(旁白:这似乎是一个奇怪的问题 - 空桌子在这里没有帮助。或者你的意思是,只有当桌子是空的?)