概述
区别介绍:
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。
注意:
1、HAVING子句必须位于GROUP BY之后ORDER BY之前。
2、WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。
3、HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。
示例 :
select 类别, sum(数量) as 数量之和 from A group by 类别 having sum(数量) > 18
示例:Having和Where的联合使用方法
select 类别, SUM(数量)from A where 数量 > 8 group by 类别 having SUM(数量) > 10
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
最后
以上就是朴素翅膀为你收集整理的SQL中Having与Where的区别及注意的全部内容,希望文章能够帮你解决SQL中Having与Where的区别及注意所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复