易百教程

60、WHERE 和 HAVING 子句有什么区别?

主要区别在于 WHERE 子句用于在建立任何分组之前过滤记录,而 HAVING 子句用于过滤组中的值。 下面的比较图表解释了最常见的差异:

WHERE HAVING
WHERE子句在行操作中实现。 HAVING子句在列操作中实现。
WHERE不允许使用聚合函数。 HAVING可以与聚合函数一起使用。
WHERE子句可与 SELECT、UPDATE 和 DELETE 语句一起使用。 此子句只能与 SELECT 语句一起使用。