pao*_*lov 3 sql oracle sqlplus
为什么星号在 SELECT 子句中单独使用时在 oracle sql 中使用星号完全有效,但当 SELECT 中存在其他表达式时会导致错误?
例如:
select * from table1 -- is ok
Run Code Online (Sandbox Code Playgroud)
但:
select field, * from table -- is not ok
Run Code Online (Sandbox Code Playgroud)
当没有其他列时,Oracle 只允许使用“裸”星号。
否则,您需要对其进行限定:
select t.field, t.*
from table1 t;
Run Code Online (Sandbox Code Playgroud)
我怀疑原因是 Oracle 认为select *是一个完整的子句,而不是*所有列的缩写。