select department_id,avg(salary)
from employees
where avg(salary)>6000
group by department_id
--having avg(salary)>6000
2.原因。
sql语句的执行顺序为
from子句
where 子句
group by 子句
having 子句
order by 子句
select 子句
首先得知道聚合函数是对结果集运算的,当在where子句使用聚合函数时,此时根据group by 分割结果集的子句还没有执行,此时只有from 后的结果集。
所以无法在where子句中使用聚合函数。