为什么在Oracle SQL中选择指定的列,而且全部错误?

gla*_*snt 23 sql oracle table-alias ora-00936

说我有一个选择声明..

select * from animals
Run Code Online (Sandbox Code Playgroud)

这给出了表中所有列的查询结果.

现在,如果表格的第42列animalsis_parent,并且我想在我的结果中返回它,之后gender,我可以更容易地看到它.但我也想要所有其他专栏.

select is_parent, * from animals
Run Code Online (Sandbox Code Playgroud)

这回来了ORA-00936: missing expression.

同样的语句在Sybase中可以正常工作,我知道你需要在表中添加一个表别名animals才能使它工作(select is_parent, a.* from animals ani),但为什么 Oracle需要一个表别名才能计算出选择?

Jim*_*son 24

实际上,解决原始问题很容易.你只需要符合*.

select is_parent, animals.* from animals;
Run Code Online (Sandbox Code Playgroud)

应该工作得很好.表名的别名也有效.