在Oracle SQL中使用星号

时间:2019-03-20 22:56:29

标签: sql oracle sqlplus

当星号本身位于SELECT子句中时,为什么使用星号在oracle sql中完全有效,但是当SELECT中有其他表达式时,会导致错误?

例如:

select * from table1  -- is ok

但是:

select field, * from table -- is not ok

1 个答案:

答案 0 :(得分:3)

Oracle仅在没有其他列时才允许使用“裸”星号。

否则,您需要对其进行限定:

select t.field, t.*
from table1 t;

我怀疑原因是Oracle认为select *是完整子句,而不是*是所有列的缩写。