SQLのCASE文は、非常に便利な機能の一つです。これによって、特定の条件に基づいてデータを選択的に変換したり、新しい値を生成することができます。この記事では、CASE文の基本的な使い方から応用テクニックまで、具体的な例を交えながら詳しく解説します。
目次
はじめに
SQLのCASE文は、制御フローの一種であり、特定の条件に基づいてデータを処理するための非常に強力なツールです。CASE文を使えば、単一のSQLクエリ内で条件分岐を行い、データ値を動的に変換することができます。
CASE文の基本構文
CASE文の基本的な構文は次の通りです。
SELECT CASE
WHEN 条件1 THEN 値1
WHEN 条件2 THEN 値2
...
ELSE その他の値
END
FROM テーブル名;
基本構文の解説
CASE文は、WHEN、THEN、ELSE、ENDというキーワードで構成されます。具体的には、WHENキーワードで条件を指定し、その条件が成立した場合(TRUEの場合)には、THENキーワードで指定した値が返されます。ELSEキーワードはオプションで、どの条件も成立しなかった場合に返される値を指定します。
具体的な使用例
従業員の評価をランク付け
例えば、従業員の年収に基づいて、ランクを付けたいというシナリオを考えます。
従業員ID | 年収 |
---|---|
1 | 500万円 |
2 | 800万円 |
3 | 300万円 |
このテーブルに対して、次のようなSQLクエリを実行することで、従業員のランクを求めることができます。
SELECT 従業員ID, 年収,
CASE
WHEN 年収 >= 700万円 THEN 'Aランク'
WHEN 年収 >= 500万円 THEN 'Bランク'
ELSE 'Cランク'
END AS ランク
FROM 従業員年収表;
まとめ
SQLのCASE文は、特定の条件に基づいてデータを動的に変換する非常に便利な機能です。基本的な使い方から応用例まで、様々なシナリオで利用することができます。今回は従業員のランク付けの例を取り上げましたが、このような柔軟なデータ処理がSQLのCASE文で可能です。是非、日常のデータ処理に活かしてみてください。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント