SQL_取得結果に対する条件判定

SELECT文で取得した結果に対して、CASE式を使用することで条件判定が可能です。
条件判定を行うことで、SQL文の出力結果を変えることができます。
プログラムのIF文の判定をSQL文の中で行っているようなイメージであり、プログラムを作るまでもない運用作業で使用する他、プログラムに組み込む場合も使い方次第でプログラムの可読性・保守性を高めることができる場合があります。

なお、NULLの時に出力結果を変えるだけであればCOALESCE関数の方がスマートなので、これも併せて紹介します。

【文法】

・CASE式(単純CASE式)

SELECT~FROMの間のカラム指定の箇所で使用する。
カラムの値に応じて返す値を指定する。

・CASE式(検索CASE式)

SELECT~FROMの間のカラム指定の箇所で使用する。
式に応じて返す値を指定する。

・COALESCE関数

SELECT~FROMの間のカラム指定の箇所で使用する。
可変長の引数を持ち、NULLではない最初の値を返す。

【対象テーブル例】

・商品

【取得例】

※ASは省略可能


いかがでしたでしょうか。

今回紹介した文法も、日々の保守運用作業の役に立つものです。
WHERE句以外の箇所でも条件を指定できることを知ると、SQLでの表現の幅が広がり、作業が効率的になります。

SELECT文の結果については、結果として表示される値を変えるだけでなく、その値の重複を排除したり、集計したりすることもできます。
こちらについては次回の記事で紹介したいと思います!

カテゴリーSQL

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA