优选主流主机商
任何主机均需规范使用

深入了解SQL查询:Having与Where子句的差异及其使用注意事项

区别介绍:

where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。

having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

注意:

1、HAVING子句必须位于GROUP BY之后ORDER BY之前。

2、WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。

3、HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。

示例 :

1 select 类别, sum (数量) as 数量之和 from A group by 类别 having sum (数量) > 18

示例:Having和Where的联合使用方法

1 select 类别, SUM (数量) from A where 数量 > 8 group by 类别 having SUM (数量) > 10

总结

以上就是这篇文章的全部内容了。

未经允许不得转载:搬瓦工中文网 » 深入了解SQL查询:Having与Where子句的差异及其使用注意事项