我正在学习Oracle SQL考试的一些SQL语法,发现了一些令人困惑的地方。
根据官方参考资料,select语法如下:
SELECT
[ hint ]
[ { { DISTINCT | UNIQUE } | ALL } ]
select_list
FROM { table_reference | join_clause | ( join_clause ) }
[ , { table_reference | join_clause | (join_clause) } ] ...
[ where_clause ]
[ hierarchical_query_clause ]
[ group_by_clause ]
[ HAVING condition ]
[ model_clause ]
根据此,您不能在GROUP BY子句之前使用HAVING子句。但是,如果我在测试服务器上执行以下SQL:
select
department_id , count (*)
from
employees
having
count(*) > 6
group by
department_id ;
它不会产生语法错误,可以有人帮忙解释一下吗?我不想认为参考文档是错的,但如果是的话,我需要确认一下。