SQLのHAVING句の使い方は何ですか?

SQLでは、HAVING句がGROUP BY句の結果をフィルタリングするために使用されます。これにより、集計関数の結果に基づいてクエリ結果をフィルタリングすることができます。HAVING句は通常、GROUP BYを使用してクエリを実行する際に、グループ化された結果をフィルタリングするために使用されます。

HAVING句の構文は以下の通りです。

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件
GROUP BY 列名1, 列名2, ...
HAVING 条件

上記の構文では、HAVING句はGROUP BY句の後に続き、結果を絞り込むために集計関数(SUM、COUNT、AVGなど)を使用することができます。HAVING条件を満たすグループのみがクエリ結果に含まれます。

以下は例です。部署の平均給与が5000を超える部署を検索したいとします。

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

上記の例では、まず部門ごとにグループ化し、各部門の平均給与をavg_salaryとして計算します。最後に、HAVING句を使用して平均給与が5000を超える部門を選別します。

注意:HAVING節はGROUP BY節内の集計関数の結果にのみ適用されます。GROUP BY節を使用していない場合、HAVING節は無効と見なされます。

bannerAds