【发布时间】:2010-09-22 04:42:05
【问题描述】:
SQL SELECT 语句中的HAVING 和WHERE 有什么区别?
编辑:我已将 Steven 的答案标记为正确答案,因为它包含链接上的关键信息:
当不使用
GROUP BY时,HAVING的行为类似于WHERE子句
我看到WHERE 没有GROUP BY 的情况是我开始困惑的地方。当然,在您知道这一点之前,您不能在问题中指定它。
【问题讨论】:
-
你引用的那行根本不是关键。关键位 as wcm pointed out 是
HAVING是一个聚合后过滤器,而WHERE是一个预聚合过滤器。 -
这个链接比下面的所有 cmets 更能帮助我理解它,认为有人可以通过这个codeproject.com/Articles/25258/…得到帮助
-
另外,请考虑使用不带
GROUP BY的HAVING代替WHERE在Oracle 等所有数据库中并不普遍。
标签: sql where-clause having