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更新)