Where 与 Having之间的区别

SQL查询中使用的两个关键字“ Where”和“ Having”都是用于根据给定条件过滤和汇总从数据库中检索到的数据。

根据两个关键字的特征,我们可以区分Where和Have,如下所示:

序号wherehaving
1定义SQL查询中的WHERE子句为it返回的行指定搜索条件,并将行限制为特定的行集。如果用户希望根据某种特定的分类或条件获取特定的记录,则使用“ where”子句很有用。WHERE子句用于在选择表的行时指定所需条件(基于合计值)。
2执行根据子句的执行顺序,在执行GROUPBY CLAUSE之前以及在执行FROM子句之后,将执行WHERE子句。另一方面,创建组后将执行HAVING子句。
3GroupBy兼容性WHERE子句可以与SQL查询中的GroupBy子句一起使用。另一方面,Having子句与GroupBy子句不兼容。
4行选择WHERE子句在对结果分组之前选择行。另一方面,Having子句会在分组后选择行。
5汇总功能WHERE子句不能包含聚合函数。另一方面,HAVING子句可以包含聚合函数。