データマネジメントの学校
← コースに戻る

未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。

CASE WHENによる条件分岐

CASE WHENを使うと、条件によって出力する値を変える、SQLの中でのif文のような処理が書ける。

SELECT
  order_id,
  CASE
    WHEN amount >= 1000 THEN '高額'
    ELSE '通常'
  END AS amount_tier
FROM orders;

WHENは上から順に評価され、最初に条件を満たしたTHENの値が採用される。複数の条件を並べて段階的に分類することもできる。

SELECT
  product_name,
  CASE
    WHEN price >= 20000 THEN 'A'
    WHEN price >= 5000 THEN 'B'
    ELSE 'C'
  END AS price_rank
FROM products;

ELSEを省略すると、どの条件にも当てはまらない行の結果はNULLになる。