如果我使用 'Having' 作为 'Where' (即没有 group by 子句),你能告诉我哪个更快 'Where' 或 'Having (as where)'?我们必须更喜欢哪一个?
场景 - 我正在使用此条件使用纬度和经度在一定距离内查找位置。
如果条件引用了aggregate函数,则将该条件放在HAVING子句中。否则,使用该WHERE子句。
您可以使用HAVING,但建议您应该使用 with GROUP BY。
SQL Standard表示WHERE在返回行之前HAVING限制结果集,并在带来所有行之后限制结果集。所以WHERE更快。
HAVING这是和之间的区别WHERE:
没有 GROUP BY
您通常不能替代使用它,但有关它的所有内容都包含在此链接中
这里是关于他们速度的话题:哪个 SQL 语句更快?(拥有与在哪里......)
HAVING 和 WHERE 的使用不可互换。它们涵盖不同的主题,如果没有 GROUP BY 句子,HAVING 似乎只等于 WHERE