我在 oracle apex 中的查询有什么问题?

what is wrong with my query in oracle apex?

下面的代码不起作用,但是当我将它转换为下一个代码时它确实起作用了。为什么?

select * ,count(*) over(partition by colour) as counts_by_colour
from bricks;

输出:

ORA-00923: FROM keyword not found where expected

修改:

select b.* ,count(*) over(partition by colour) as counts_by_colour
from bricks b;

这只是 SQL 的工作方式 - 与 APEX 无关。

select * 表示 select 以下所有列。所以...

select * from emp join dept;

...returns emp 的所有列和 dept 的所有列。

您不能 select 任何其他 select * - 例如...

select *, 'abc' from emp;

引发与您相同的错误。

但是,您可以使用 select alias.* 到 select 查询中一个 table/view 的所有列,然后您还可以 select 其他内容:

select e.*, 'abc' from emp e;

select e.*, d.loc from emp e join dept d;

“隐式”别名也有效:

select emp.*, 'abc' from emp;