SQLのCASE WHEN構文の使い方
条件によってさまざまな操作を実行したり、さまざまな値を返したりするために CASE WHEN ステートメントが使用されます。その基本的な構文は次のとおりです。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
condition1、condition2などの条件式があり、result1、result2などの対応する条件が真の場合の戻り値であり、default_resultは条件が満たされない場合のデフォルトの戻り値です。
CASE WHEN ステートメントの使用例を次に示します。
「employees」というテーブルがあり、「first_name」と「last_name」という列があるとします。このテーブルから、従業員の「first_name」と「last_name」に基づいた敬称を表示する必要があります。「first_name」が「John」、「last_name」が「Doe」の場合は「Mr. Doe」と表示し、それ以外の場合は「Ms. {last_name}」と表示します。
SELECT
CASE
WHEN first_name = 'John' AND last_name = 'Doe' THEN 'Mr. Doe'
ELSE CONCAT('Ms. ', last_name)
END AS title
FROM
employees;
CASE WHEN句は「first_name」と「last_name」の値に基づいて返す敬称を判断しています。「first_name」が『John』で「last_name」が『Doe』の場合は「Mr. Doe」を返し、それ以外は「Ms. {last_name}」を返します。