SQLのHAVING句の役割は何か

GROUP BY 句でグルーピングクエリを実施する際、グループ化した結果に対してフィルター処理を行う HAVING 句.行をフィルターする WHERE 句に類似するが、WHERE 句は行のフィルター処理を行うが、HAVING 句はグループのフィルター処理を行う.

具体的には、HAVING句は集計関数(COUNT、SUM、AVGなど)を使用して、グループ化した結果セットをフィルター処理します。HAVING条件を満たすグループだけがクエリ結果に含まれます。

給与情報のあるテーブルがあった時、平均給与以上の給与をもつ部署を導くクエリストートメントを以下に示します。

部門、AVG(給与) as AVG_給与
FROM employees
GROUP BY 部門
HAVING AVG(給与) > 5000;

この例では、HAVING句は平均給与が5000円を超える部門のみを絞り込み、それらの部門の結果のみが返されます。

bannerAds