SQL の基本 | DML: データ操作言語 | HAVING

関数の値に条件を付ける方法を説明する。

たとえば、売上が $1,500 以上の店舗だけを検索したい場合があるとする。WHERE コマンドだけでは実行できない。その場合は HAVING のようなコマンドを使用する。一般的に HAVING 句は SQL 文の最後に置かれる。HAVING 句を含む SQL であっても、必ず GROUP BY 句を含む必要があるわけではない。

HAVING 構文

HAVING 文の構文は次のとおりである。

SELECT "カラム1", SUM("フィールド2")
FROM "テーブル名"
GROUP BY "フィールド1"
HAVING (関数条件);

注意: GROUP BY 句が必ず必要なわけではない。

HAVING の例

store_information テーブル

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

上記のようなテーブルがある場合、次のように文を入力する。

SELECT store_name, SUM(sales)
FROM store_Information
GROUP BY store_name
HAVING SUM(sales) > 1500;

上記の文による結果は次のとおりである。

store_name SUM(sales)
Los Angeles 1800