SQLでCASE文を用いた条件に応じたデータ更新の方法

この記事では、SQLでCASE文を用いた条件に応じたデータ更新の方法について詳しく解説します。CASE文を活用することで、単一のSQLクエリ内で条件に基づいたデータの更新が可能となります。具体的な例とともに、その使い方と応用方法を学びましょう。

目次

CASE文とは?

CASE文はSQLの条件分岐を行うための文です。特定の条件に合致する場合に特定の値を返すという処理が簡単に行えます。通常はSELECT文でよく使用されますが、UPDATE文など他のSQL文と組み合わせることで、より高度な処理が可能です。

基本的なCASE文の構文

CASE文は基本的に以下のような構造を持っています。

CASE
  WHEN 条件1 THEN 結果1
  WHEN 条件2 THEN 結果2
  ...
  ELSE その他の結果
END

CASE文を用いたUPDATE文の基本形

基本的なCASE文の構文を使って、UPDATE文を書く場合は以下のようになります。

UPDATE テーブル名
SET カラム名 = CASE
  WHEN 条件1 THEN 結果1
  WHEN 条件2 THEN 結果2
  ELSE その他の結果
END
WHERE 更新対象の条件;

具体的な例

以下は、従業員テーブル(employee)で、各従業員の給与(salary)を更新する場合の例です。

従業員ID給与
1300,000円
2200,000円
3100,000円
テーブル1: 更新前の従業員テーブル
UPDATE employee
SET salary = CASE
  WHEN salary >= 300000 THEN '高給与'
  WHEN salary < 300000 AND salary >= 200000 THEN '中給与'
  ELSE '低給与'
END;

このクエリを実行すると、給与が300,000円以上の人は「高給与」、200,000円以上300,000円未満は「中給与」、それ以外は「低給与」と更新されます。

従業員ID給与
1高給与
2中給与
3低給与
テーブル2: 更新後の従業員テーブル

まとめ

SQLでのCASE文の使い方と、それを用いてUPDATE文を書く方法について解説しました。CASE文は非常に強力なツールであり、1つのクエリで複数の条件に基づいた更新が行えます。この機能を使いこなすことで、より効率的なデータ操作が可能となります。

コメント

コメントする

目次