HAVING句 【HAVING clause】

概要

HAVING句(HAVING clause)とは、リレーショナルデータベースの操作や問い合わせに用いるSQLで、操作対象のレコードを絞り込む条件を指定する句。作用としてはWHERE句に似た働きをするが、行をグループ化するGROUP BY句と共に用いる。

SELECT文に対してGROUP BY句を用いると、指定した列の値が同一である行をグループとして一括りにすることができ、グループごとに行数の集計などを行うことができる。

HAVING句はGROUP BY句でグループ化する行を絞り込む構文で、「GROUP BY 列名 HAVING 条件」のようにGROUP BY句に続けて記述する。「条件」で指定した行のみをグループ化の対象とすることができ、WHERE句による行の絞り込みと同じ働きをする。

例えば、「SELECT COUNT(*) AS Count FROM Users GROUP BY Region」のように指定すると、Usersテーブルの行をRegionフィールドの値が同一であるもの同士でグループ化し、その行数をCountとして返すが、末尾に「HAVING Age > 20」を加えると、Ageフィールドが20より多い行のみを対象にグループ化と行数のカウントを行う。

(2022.4.7更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。