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的部门
案例2:平均薪资过滤
案例3:WHERE 与 HAVING 配合
五、小结
HAVING 分组过滤是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。
评论(0)
请登录后发表评论。