Help us understand the problem. What is going on with this article?

SQLのCASE文

More than 1 year has passed since last update.

今回はSQLのCASE文について説明します。
というか、自分がすぐCASE文の使い方を忘れてしまうので自分用メモなんですが……。

まずは、もっとも単純なCASE文を書いてみます。
jobカラムには職業がコードで登録されているため、名称を紐づけているSQLです。

CASE
    WHEN job = 0 THEN '会社員'
    WHEN job = 1 THEN '自営業'
    ELSE '不明'
END

ちなみに、CASE文の中では不等号やIN句も使用できます。

CASE
    WHEN age < 20 THEN '子供'
    WHEN age >= 20 THEN '大人'
END
CASE
    WHEN kbn IN (0, 1, 2) THEN '分類1'
    WHEN kbn IN (3, 4) THEN '分類2'
    ELSE '分類3'
END

もちろん、複数条件を指定することもできます。

CASE
    WHEN rank = 0 AND score >= 80 THEN '評価S'
    WHEN rank = 1 AND score >= 80 THEN '評価A'
    ELSE '評価B'
END
sheep_LE
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away