Where 和 Having 的區別
Where 和 Having 都是 SQL 查詢中用於根據給定條件過濾和彙總從資料庫檢索到的資料的兩個關鍵字。
根據這兩個關鍵字的功能,我們可以區分 Where 和 Having,如下所示:
| 序號 | 關鍵字 | Where | Having |
|---|---|---|---|
| 1 | 定義 | SQL 查詢中的 WHERE 子句指定其返回的行,並將其限制為特定的行集。如果使用者希望根據某些特定分類或條件獲取特定記錄,則使用“where”子句很有用。 | WHERE 子句用於在選擇錶行時指定所需的條件(關於聚合值)。 |
| 2 | 執行 | 根據子句的執行順序,WHERE 子句在 GROUPBY 子句執行之前,FROM 子句執行之後執行。 | 另一方面,HAVING 子句在建立組後執行。 |
| 3 | GroupBy 相容性 | WHERE 子句可與 SQL 查詢中的 GroupBy 子句一起使用。 | 另一方面,Having 子句與 GroupBy 子句不相容。 |
| 4 | 行選擇 | WHERE 子句在結果分組之前選擇行。 | 另一方面,Having 子句在分組後選擇行。 |
| 5 | 聚合函式 | WHERE 子句不能包含聚合函式。 | 另一方面,HAVING 子句可以包含聚合函式。 |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP