添加字段到SELECT *

19 浏览
0 Comments

添加字段到SELECT *

我可以执行以下操作:

SELECT *
SELECT 1 as t

但是这个操作

SELECT *, 1 as t
SELECT 1 as t, *

会给我报错:

表达式缺失

enter image description here

是否有解决方法可以添加额外的列或者必须包括每个字段的名称?

0
0 Comments

添加字段到SELECT *语句中出现的问题是ORA-00923错误,错误信息为“ORA-00923: FROM关键字未按预期找到”。这个问题的原因是SELECT *语句不能与其他字段一起使用,因为不允许对“*”进行其他操作。

为了解决这个问题,可以使用表别名来指定字段。在上面的例子中,使用表别名“d”来指定字段“*”,并且可以与其他字段一起使用。这样就可以避免错误并正确执行SELECT语句。

另外,文章中提到了Oracle 18版本不支持无表语法SELECT a.n FROM ( VALUES(1), (2) ) AS a(n),这与SQL 92标准不一致。作者对此表示了惊讶,并提到了Oracle在过去对ANSI/ISO SQL标准的影响力。作者推测这个问题可能不会很快得到解决,因为Oracle数据库和MySQL都在无表选择中使用了“dual”。

添加字段到SELECT *语句中出现的问题可以通过使用表别名来解决。此外,还提到了Oracle 18版本不支持无表语法的问题,并对此问题进行了简要的讨论。

0