当前位置: 移动技术网 > IT编程>数据库>其他数据库 > SQL中Having与Where的区别及注意

SQL中Having与Where的区别及注意

2017年12月08日  | 移动技术网IT编程  | 我要评论
区别介绍:      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

总结

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网