点击

having

having的使用

作用:用来过滤数据

练习:查询部门10,20,30,40,这4个部门中最高工资比10000高的部门信息

select department_id,max(salary) from employees group by department_id having department_id in(10,20,30,40) and max(salary)>10000;

结论1:如果过滤条件中使用了聚合函数,则必须使用having来替换where,否则,报错。

结论2:having必须声明在group by 后面

​ having必须和group by一起使用

结论:当过滤条件中有聚合函数时,则此过滤条件必须声明在having中。

​ 当过滤条件中没有聚合函数时,则此过滤条件声明在where中或having中都是可以的,但是建议声明在where中

where 与 having 的对比

​ 如果过滤条件中没有聚合函数:这种情况下,where的执行效率要高于having

posted @ 2023-01-23 15:01  RILI520  阅读(245)  评论(0)    收藏  举报