【SQL】SQLのCASE文を使用した複数条件でのデータ更新方法

データベースの管理や操作において、条件に応じてデータを更新する必要がある場面は多々あります。SQLにはそのようなケースに対応するための強力な機能が備わっています。本記事では、SQLのCASE文を活用して複数の条件に基づいてデータを更新する方法を解説します。

SQLのCASE文とは

CASE文は、条件に応じて異なる結果を返すSQLの構文です。通常の条件分岐に似ており、特定の条件が満たされた場合に特定の処理を実行します。

複数条件でのデータ更新

データの更新において、1つの条件だけでなく複数の条件を考慮することがよくあります。例えば、特定の値以上の場合に加算する、あるいは特定の条件に一致する場合にのみ更新を行う、といったケースです。

サンプル

サンプルデータベースには、従業員情報を管理するテーブルがあります。このテーブルに対して、以下の条件でデータを更新する場合を考えます。

  • 給与(salary)が50000以上の場合、給与を1000増やす。
  • 部署(department)が’HR’の場合、給与を2000増やす。

以下がそのSQL文です。

UPDATE employees
SET salary = 
    CASE 
        WHEN salary >= 50000 THEN salary + 1000
        WHEN department = 'HR' THEN salary + 2000
        ELSE salary
    END;

このように、CASE文を使用することで複数条件に基づく柔軟なデータ更新が可能です。

まとめ

SQLのCASE文を使用することで、複数の条件に基づいてデータを更新することができます。データベースの管理や操作において、柔軟性を持った処理を実現するために、CASE文を積極的に活用してみてください。