首頁  >  文章  >  資料庫  >  sql中having和where的用法

sql中having和where的用法

下次还敢
下次还敢原創
2024-05-02 02:33:171185瀏覽

WHERE 子句在 SELECT 語句中篩選行,根據行條件篩選基礎資料。 HAVING 子句在 GROUP BY 語句中篩選群組,根據群組的聚合結果過濾群組。主要差異:WHERE 處理單行,評估行的條件;HAVING 處理組,評估組的聚合結果;WHERE 影響哪些行包含在結果中,HAVING 影響哪些組包含在結果中。

sql中having和where的用法

WHERE 和HAVING 子句在SQL 中的用法

WHERE 和HAVING 子句在SQL 中用於過濾資料集,但它們在處理上下文和目標方面有所不同:

WHERE 子句:

  • WHERE 子句用於在SELECT 語句的FROM 之後篩選行。
  • 它根據每個行的條件對基礎表或視圖中的行進行評估。
  • 它用於過濾基礎數據,從而影響哪些行被包括在最終結果中。

範例:

<code class="sql">SELECT * FROM employees WHERE salary > 50000;</code>

此查詢傳回所有薪資大於 50,000 美元的員工。

HAVING 子句:

  • HAVING 子句用於在 GROUP BY 語句中篩選群組。
  • 它根據群組的聚合結果對群組進行評估。
  • 它用於過濾組,從而影響哪些組被包括在最終結果中。

範例:

<code class="sql">SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING total_salary > 100000;</code>

此查詢傳回所有部門的總工資,其中總工資大於 100,000 美元。

主要差異:

  • 處理上下文:WHERE 子句處理單一行,而 HAVING 子句處理群組。
  • 評估目標:WHERE 子句評估單一行的條件,而 HAVING 子句評估群組的聚合結果。
  • 結果影響:WHERE 子句影響哪些行被包含在結果中,而 HAVING 子句影響哪些群組被納入結果。

以上是sql中having和where的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn