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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~