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}」を返します。

bannerAds