SQLでCASE文を使ってデータ値を条件に基づいて変換する詳細ガイド

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年収
1500万円
2800万円
3300万円
従業員年収表

このテーブルに対して、次のようなSQLクエリを実行することで、従業員のランクを求めることができます。

SELECT 従業員ID, 年収,
  CASE
    WHEN 年収 >= 700万円 THEN 'Aランク'
    WHEN 年収 >= 500万円 THEN 'Bランク'
    ELSE 'Cランク'
  END AS ランク
FROM 従業員年収表;

まとめ

SQLのCASE文は、特定の条件に基づいてデータを動的に変換する非常に便利な機能です。基本的な使い方から応用例まで、様々なシナリオで利用することができます。今回は従業員のランク付けの例を取り上げましたが、このような柔軟なデータ処理がSQLのCASE文で可能です。是非、日常のデータ処理に活かしてみてください。

コメント

コメントする

目次