SQL 中 Where 和 Having 子句之间的差异


在本文中,我们将了解在 SQL 中 WHERE 子句和 HAVING 子句之间的差异。

WHERE 子句

  • 用于根据特定条件过滤表中的记录。

  • 可在没有 ‘GROUP BY’ 子句的情况下使用。

  • 可在行操作中使用。

  • 不能包含聚合函数。

  • 可在 ‘SELECT’,‘UPDATE’ 和 ‘DELETE’ 语句中使用。

  • 根据需要,可在 ‘GROUP BY’ 子句之前使用。

  • 与单个行函数(如 ‘UPPER’,‘LOWER’)一起使用。

HAVING 子句

  • 用于根据特定条件过滤组中的记录。

  • 不能在没有 ‘GROUP BY’ 子句的情况下使用。

  • 与列操作一起使用。

  • 可包含聚合函数。

  • 只能与 ‘SELECT’ 语句一起使用。

  • 在 ‘GROUP BY’ 子句之后使用。

  • 可与多个行函数一起使用(如 ‘SUM’,‘COUNT’)。

以下是语法

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

更新于: 25-03-2021

4K+ 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告