在 SQL 中,HAVING 和 WHERE 都用於過濾數據,但它們的差異在於:WHERE 過濾單一行,而 HAVING 過濾聚合函數的結果。 WHERE 在 FROM 子句之後使用,而 HAVING 在 GROUP BY 子句之後使用。 WHERE 根據行中的值過濾,而 HAVING 根據聚合結果過濾。
SQL 中HAVING 與WHERE 的區別
在SQL 中,HAVING 和WHERE 都是用於過濾數據的關鍵字,但它們在用途上有明顯的區別:
WHERE 過濾行
WHERE 子句用於過濾表中的單一行。它在 SELECT 語句中使用,位於 FROM 子句之後。 WHERE 僅考慮單一行中的值,並根據指定的條件將其保留或刪除。
例如:
<code class="sql">SELECT * FROM users WHERE age > 18;</code>
以上查詢將選擇所有年齡大於 18 的使用者。
HAVING 過濾群組
HAVING 子句用於過濾聚合函數(如 SUM、COUNT、AVG)的結果。它在 GROUP BY 子句之後使用,用於根據聚合結果過濾群組。
例如:
<code class="sql">SELECT department, COUNT(*) AS employee_count FROM users GROUP BY department HAVING employee_count > 10;</code>
以上查詢將選擇員工數量大於 10 的部門。
總結
以上是sql中having和where的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!