MySQL CASE 文
1. MySQL CASE 文の概要
CASE 文は、SQL 文の中で指定された条件に基づき、異なる結果を定義するために使用されます。
この文は上から順番に条件を評価していき、最初に一致した(条件が TRUE になった)時点で処理を停止して結果を返します(プログラミングの if-then-else ステートメントと同じ挙動です)。
- 条件が TRUE になると、その後の条件判定は行わず結果を返します。
- どの条件も TRUE にならない場合は、
ELSE句の値を返します。 ELSE句が指定されておらず、かつ全ての条件が FALSE だった場合は、NULL を返します。
2. CASE の基本構文
CASE
WHEN 条件1 THEN 結果1
WHEN 条件2 THEN 結果2
WHEN 条件N THEN 結果N
ELSE 結果
END;3. MySQL CASE の使用例
以下の例では、CASE 文を使用して価格(Price)データを分類し、各製品がどの価格帯に属するかを示す新しいカラム(PriceCategory)を作成しています。
-- 製品名と価格に加え、CASE 文で作成した「価格カテゴリ」を併せて取得します
SELECT ProductName, Price,
CASE
WHEN Price < 20 THEN '低価格帯 (Low Cost)'
WHEN Price BETWEEN 20 AND 50 THEN '中価格帯 (Medium Cost)'
ELSE '高価格帯 (High Cost)'
END AS 価格カテゴリ
FROM Products;