【Oracle】HAVING句でグループ化されたデータに条件を適用する方法

SQLのクエリでデータを集計し、特定の条件に基づいて結果を絞り込むためには、HAVING句が非常に役立ちます。この記事ではOracleでのHAVING句の基本的な使い方とその重要性について掘り下げます。

HAVING句とは何か?

HAVING句は、GROUP BY句と組み合わせて使用され、グループ化された結果セットに条件を適用するためのSQL句です。通常、WHERE句が個々の行に対して条件を指定しますが、HAVING句はグループ化された結果に対して条件を適用します。

HAVING句の使い方

具体例として、従業員テーブルから部門ごとの平均給与が5000以上の部門を抽出するクエリを見てみましょう。

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) >= 5000;

このクエリでは、AVG(salary)がHAVING句の条件になり、平均給与が5000以上の部門のみが結果として返されます。

HAVING句の重要性

HAVING句は、集計関数(例: AVG、SUM、COUNTなど)を使用した集計結果に対して条件を適用する際に必須です。これにより、特定の集計条件を満たすデータを簡単に抽出することができます。

まとめ

HAVING句は、SQLクエリで集計結果に対して条件を適用するための強力なツールです。GROUP BY句と組み合わせて使うことで、データをより精密にフィルタリングすることができます。

Oracleでのデータの集計と絞り込みが必要な場合は、HAVING句を上手に活用してみてください!