-1

所以我需要编写一个查询,该查询将使用一个空表返回由 4 列组成的单行数据。我还需要指定将返回的列的名称。我不能在查询中使用以下词:插入、更新、删除、删除、创建、联合、减号、相交、排序依据。

因此,例如查询可以返回:

|课程 | 状态 | 学期 | 年份|

|数学 | (空) | s1 | 2013|

我不确定如何描述我所追求的,所以如果您需要更多详细信息,请告诉我。

4

2 回答 2

2

阅读SELECT从 DUAL 表中进行选择

SELECT 'math' course 
       ,NULL  status
       ,'s1'  semester
       ,2013  year 
  FROM dual;

输出:

| COURSE | STATUS | SEMESTER | YEAR |
-------------------------------------
|   math | (null) |       s1 | 2013 |

SQLFiddle

由于您只返回常量值,因此您可以使用您想要的任何表名(不仅仅是dual),如果它存在于您的模式中。但是dualOracle中专门针对这样的需求而存在。

于 2013-05-25T03:36:49.863 回答
2

当您需要 Oracle 中的单行结果时,您可以使用一个名为dual. 这里面有一排,所以你得到一排。请注意,在下面的选择中,我们没有从中获取任何实际值dual,它只是用来给我们一行,我们选择常量。

SELECT 'Math' AS Course, 
       NULL AS Status, 
       's1' AS Semester, 
       '2013' AS Year
FROM DUAL;

(旁白:这似乎是一个奇怪的问题 - 空桌子在这里没有帮助。或者你的意思是,只有当桌子是空的?)

于 2013-05-25T03:37:27.963 回答