データベースの管理や操作において、条件に応じてデータを更新する必要がある場面は多々あります。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文を積極的に活用してみてください。