WHERE 子句在 SELECT 語句中篩選行,根據行條件篩選基礎資料。 HAVING 子句在 GROUP BY 語句中篩選群組,根據群組的聚合結果過濾群組。主要差異:WHERE 處理單行,評估行的條件;HAVING 處理組,評估組的聚合結果;WHERE 影響哪些行包含在結果中,HAVING 影響哪些組包含在結果中。
WHERE 和HAVING 子句在SQL 中的用法
WHERE 和HAVING 子句在SQL 中用於過濾資料集,但它們在處理上下文和目標方面有所不同:
WHERE 子句:
範例:
SELECT * FROM employees WHERE salary > 50000;
此查詢傳回所有薪資大於 50,000 美元的員工。
HAVING 子句:
範例:
SELECT department, SUM(salary) AS total_salary FROM employees GROUP BY department HAVING total_salary > 100000;
此查詢傳回所有部門的總工資,其中總工資大於 100,000 美元。
主要差異:
以上是sql中having和where的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!