SQL中Having与Where的区别及注意
程序员文章站
2022-06-24 22:48:18
区别介绍:
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,whe...
区别介绍:
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中varchar和nvarchar的区别与使用方法
-
C#中new的用法及与override的区别分析
-
深入浅析php中sprintf与printf函数的用法及区别
-
SQL中distinct 和 row_number() over() 的区别及用法
-
sql中的left join以及on、where关键字的区别
-
SQL左右连接中的on and和on where的区别
-
SQL中where子句与having子句的区别小结
-
SQL中过滤条件放on和where中的区别详解
-
sql中的left join及on、where条件关键字的区别详解
-
Sql server 中count() 与 sum() 的区别