case whenの使い方は何ですか?
CASEは条件に基づいて異なる値を返すためのSQLクエリ内の条件判断式です。
基本的な文法は以下の通りです:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
- condition1、condition2などが判定すべき条件です。ある条件を満たしたら、対応する結果を返します。
- 結果1、結果2、… は条件を満たしたときに返される結果です。
- 他には、条件がすべて満たされない場合に返すデフォルトの結果を指定するためのオプションとして、ELSE節が選択肢としてあります。
CASE WHEN文は、ネストして使用することができ、複数の条件と複数の結果を含むことができます。
例えば、以下の例では、異なる売上レベルに応じて異なるボーナス率が返されます。
SELECT sales_amount,
CASE WHEN sales_amount > 100000 THEN 'High'
WHEN sales_amount > 50000 THEN 'Medium'
ELSE 'Low'
END AS bonus_level
FROM sales;
上記のクエリは、売上高に基づいて各販売ごとのボーナスレベルを「High」、「Medium」、または「Low」に分類します。