この記事では、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 | 給与 |
---|---|
1 | 300,000円 |
2 | 200,000円 |
3 | 100,000円 |
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 | 低給与 |
まとめ
SQLでのCASE文の使い方と、それを用いてUPDATE文を書く方法について解説しました。CASE文は非常に強力なツールであり、1つのクエリで複数の条件に基づいた更新が行えます。この機能を使いこなすことで、より効率的なデータ操作が可能となります。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント