Logo Wand.Tools

SQL CASE文ジェネレーター

SQL内の条件付きロジックのためのCASE文を生成するためにAIを使用

SQL CASE チュートリアル

SQL CASE チュートリアル

SQL の CASE ステートメントは、SQL クエリで条件ロジックを実装するために使用されます。特定の条件に基づいて異なるアクションを実行できます。このチュートリアルでは、CASE ステートメントの構文と使用法を実践的な例を交えて説明します。

構文

CASE ステートメントの基本的な構文は次のとおりです:

CASE
    WHEN 条件1 THEN 結果1
    WHEN 条件2 THEN 結果2
    ...
    ELSE デフォルト結果
END
  • 条件1, 条件2, …: これらは順番に評価される条件です。
  • 結果1, 結果2, …: 対応する条件が真の場合に返される結果。
  • デフォルト結果: どの条件も真でない場合に返される結果(オプション)。

例 1:シンプルな CASE

employees テーブルがあり、idnamesalary の列があるとします。給与に基づいて従業員を分類したい場合:

SELECT 
    name,
    salary,
    CASE
        WHEN salary > 100000 THEN '高'
        WHEN salary BETWEEN 50000 AND 100000 THEN '中'
        ELSE '低'
    END AS salary_category
FROM employees;

このクエリは、名前、給与、および各従業員の給与を「高」、「中」、「低」に分類する新しい列 salary_category を返します。

例 2:ORDER BY での CASE の使用

ORDER BY 句で CASE ステートメントを使用して、条件ロジックに基づいて結果をソートすることもできます:

SELECT 
    name,
    salary
FROM employees
ORDER BY 
    CASE
        WHEN salary > 100000 THEN 1
        WHEN salary BETWEEN 50000 AND 100000 THEN 2
        ELSE 3
    END;

このクエリは、高給与の従業員を最初にソートし、次に中給与、低給与の従業員をソートします。

例 3:UPDATE での CASE の使用

CASE ステートメントは、UPDATE ステートメントで条件付きでレコードを更新するためにも使用できます:

UPDATE employees
SET salary = 
    CASE
        WHEN salary < 50000 THEN salary * 1.1
        WHEN salary BETWEEN 50000 AND 100000 THEN salary * 1.05
        ELSE salary
    END;

このクエリは、給与が 50,000 未満の従業員の給与を 10% 増やし、給与が 50,000 から 100,000 の間の従業員の給与を 5% 増やし、それ以外の場合はそのままにします。

結論

SQL の CASE ステートメントは、クエリで条件ロジックを実装するための強力なツールです。SELECTUPDATEORDER BY などの句で使用でき、SQL クエリをより柔軟で動的にします。さまざまなシナリオで CASE ステートメントを使用して練習し、その可能性を十分に理解してください。