目次
COALESCE関数とは?
COALESCE関数は引数を順番に評価し、NULL
と評価されない最初の式の現在の値を返します。
つまり、「SQLの実行結果がNULLだったらデフォルト値を返す」みたいなことができます。
COALESCE関数の使い方
COALESCE(値1, 値2, 値3, 値4, ...)
といったように、引数を渡して使います。
これだけだと、イメージしにくいので、実際に使ってみます。
例として、次のようなitemsテーブルがあるとします。各商品はカテゴリを持つ。
id | name | price | category |
1 | りんご | 200 | 1 |
2 | 梨 | 250 | 1 |
3 | バナナ | 150 | 1 |
4 | 豚バラ | 200 | 2 |
5 | 牛ロース | 300 | 2 |
6 | ボディーソープ | NULL | 3 |
COALESCEを使わずにカテゴリごとの合計金額を取得してみる
まずはCOALESCEを使わないパターン。
category: 3
のitemのpriceはNULLなので、合計した値もNULLになってしまいます。
集計するときなど、こういった値を0として表示したいときもあります。
そういったときにCOALESCE関数が役立ちます。
COALESCE関数を使ってカテゴリごとの合計金額を取得する(NULLの場合は0にする)
category: 3
の合計金額が0になりました!!
COALESCE関数まとめ
COALESCE(値1, 値2, 値3, 値4, ...)
といくつも引数を渡せる- 最初の
NULL
でない値を返す