SQL HAVING句とは?WHERE句との違いと使い方

データベースでは、通常、HAVING句がGROUP BY句と一緒に使用され、グループ化された結果をフィルタリングするために使用されます。HAVING句を使用すると、集約関数の結果に条件を適用して、条件を満たすグループのみを表示できます。

基本の文法は以下のとおりです:

SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING condition;

上記の構文では、HAVING句の後の条件はグループ化された結果をフィルタリングする条件であり、WHERE句が単一の行データをフィルタリングするのと同様です。注意すべき点は、HAVING句はGROUP BY句の後にのみ使用できることです。

以下は、各部署の平均給与が5000を超える部署を示すクエリ例です。

SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 5000;
bannerAds