0

如果我使用 'Having' 作为 'Where' (即没有 group by 子句),你能告诉我哪个更快 'Where' 或 'Having (as where)'?我们必须更喜欢哪一个?

场景 - 我正在使用此条件使用纬度和经度在一定距离内查找位置。

4

3 回答 3

6

如果条件引用了aggregate函数,则将该条件放在HAVING子句中。否则,使用该WHERE子句。

您可以使用HAVING,但建议您应该使用 with GROUP BY

SQL Standard表示WHERE在返回行之前HAVING限制结果集,并在带来所有行之后限制结果集。所以WHERE更快。

于 2013-07-04T09:48:01.163 回答
1

HAVING这是和之间的区别WHERE没有 GROUP BY 您通常不能替代使用它,但有关它的所有内容都包含在此链接中

这里是关于他们速度的话题:哪个 SQL 语句更快?(拥有与在哪里......)

于 2013-07-04T09:56:22.967 回答
0

HAVING 和 WHERE 的使用不可互换。它们涵盖不同的主题,如果没有 GROUP BY 句子,HAVING 似乎只等于 WHERE

于 2013-07-04T09:48:10.137 回答