SQL HAVING 和 WHERE 的区别 - 详解及应用场景
HAVING 和 WHERE 关键字都是用于限制查询结果的条件,但它们之间有一些重要的区别:
-
WHERE 关键字用于筛选行,HAVING 关键字用于筛选分组。
-
WHERE 关键字可以使用任何可比较的表达式,而 HAVING 关键字只能使用聚合函数和分组条件。
-
WHERE 关键字在 SELECT 语句中执行,而 HAVING 关键字在 GROUP BY 子句中执行。
-
WHERE 关键字可以使用索引来优化查询,而 HAVING 关键字无法使用索引。
-
WHERE 关键字在查询执行之前执行,而 HAVING 关键字在查询执行之后执行。
因此,WHERE 关键字用于过滤行,而 HAVING 关键字用于过滤分组。如果您需要限制查询结果的行数,请使用 WHERE 关键字,如果您需要限制分组的结果,请使用 HAVING 关键字。
原文地址: https://www.cveoy.top/t/topic/myUl 著作权归作者所有。请勿转载和采集!