加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL中Having与Where的区别及注意

发布时间:2020-12-12 08:19:52 所属栏目:MsSql教程 来源:网络整理
导读:区别介绍: where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。 having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组

区别介绍:

     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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读