Where 和 Having 的区别


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

根据这两个关键字的功能,我们可以区分 Where 和 Having,如下所示:

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

更新于:2020-06-09

322 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告