当星号本身位于SELECT子句中时,为什么使用星号在oracle sql中完全有效,但是当SELECT中有其他表达式时,会导致错误?
例如:
select * from table1 -- is ok
但是:
select field, * from table -- is not ok
答案 0 :(得分:3)
Oracle仅在没有其他列时才允许使用“裸”星号。
否则,您需要对其进行限定:
select t.field, t.*
from table1 t;
我怀疑原因是Oracle认为select *
是完整子句,而不是*
是所有列的缩写。