sql - 为什么在 Oracle SQL 中选择指定的列以及所有列都是错误的?

标签 sql oracle table-alias ora-00936

假设我有一个选择语句

select * from animals

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

现在,如果表的第 42 列 animalsis_parent ,我想在我的结果中返回它,就在 gender 之后,所以我可以更容易地看到它。但我也想要所有其他列。
select is_parent, * from animals

这将返回 ORA-00936: missing expression .

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

最佳答案

其实,原来的问题很容易解决。你只需要限定 *.

select is_parent, animals.* from animals;

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

关于sql - 为什么在 Oracle SQL 中选择指定的列以及所有列都是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2315295/

相关文章:

mysql - 面对 "Error Code 1248"派生表必须有自己的 Alise,如何正确编写使用数学函数计算列的子查询?

mysql - 如何在添加值的同时从一张表中获取信息?

sql - 使用日期函数获取仅小于特定日期的日期

sql - 在查询中使用 ROLLUP...小问题

oracle - PL/SQL - 如果表中存在 varchar2 类型则不起作用

sql - 何时使用 SQL 表别名

sql - 如何存储 SQL 查询结果供以后显示

MySQL 选择最新出现的 GROUP BY 字段

c# - 如何在 TextBox Multiline 中选择行号

sql - 选择带有表别名的 SQL View Slow