SQL 学习笔记:HAVING 分组过滤(HAVING)

一、HAVING 语法

SELECT 分组列, 聚合 FROM 表 GROUP BY 分组列 HAVING 聚合条件;

二、参数说明

项目说明
HAVING对分组后的结果再过滤,条件可用聚合函数
WHERE在分组前过滤行(不能用聚合函数)
执行顺序WHERE → GROUP BY → HAVING → ORDER BY

三、注意事项

  • HAVING 作用于分组之后,能使用 COUNT/SUM 等聚合;WHERE 不能
  • 能写在 WHERE 的条件尽量写 WHERE,可先缩小数据量,提升性能
  • Oracle 与 MySQL 语法一致

四、经典案例

案例1:筛选人数>1的部门

筛选人数>1的部门

案例2:平均薪资过滤

平均薪资过滤

案例3:WHERE 与 HAVING 配合

WHERE 与 HAVING 配合

五、小结

HAVING 分组过滤是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。

💬 0 评论

评论(0)

登录后发表评论。