SQLのCASE文を使って条件に応じた値を表示する方法

この記事では、SQL(Structured Query Language)のCASE文を使用して、条件に応じた値を表示する方法について詳しく解説します。CASE文は非常に便利な機能であり、SQLクエリ内で条件分岐を行う際によく用いられます。本記事では、具体的なSQLクエリ例を交えながら、CASE文の基本構文から応用例までを幅広く紹介します。

目次

SQLとは

SQL(Structured Query Language)は、リレーショナルデータベース管理システム(RDBMS)に対して、データの操作や問い合わせを行うための言語です。SQLは非常に広く使用されており、データの抽出、挿入、更新、削除など、多様な操作が可能です。

CASE文の基本構文

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

SELECT column1, column2,
CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE resultN
END AS alias_name
FROM table_name;

この基本構文に従い、条件(condition)に応じて結果(result)を出力します。`END AS alias_name`で、CASE文の結果に名前(エイリアス)をつけることも可能です。

簡単な例

以下は、顧客テーブル(customers)から、年齢に応じて「若者」「中年」「高齢」とカテゴリ分けする簡単な例です。

SELECT name, age,
CASE
    WHEN age < 30 THEN '若者'
    WHEN age BETWEEN 30 AND 59 THEN '中年'
    ELSE '高齢'
END AS age_group
FROM customers;
nameageage_group
John25若者
Jane35中年
Tom60高齢
顧客テーブルの簡単な例

CASE文の応用

CASE文は、単純な条件分岐だけでなく、複雑な条件も扱うことができます。

複数条件の組み合わせ

CASE文内で複数の条件を組み合わせることも可能です。

SELECT name, age, income,
CASE
    WHEN age < 30 AND income > 5000 THEN '若くて高収入'
    WHEN age >= 30 AND income <= 5000 THEN '中年以上で低収入'
    ELSE 'その他'
END AS description
FROM customers;
nameageincomedescription
John256000若くて高収入
Jane354000中年以上で低収入
Tom605500その他
複数条件の組み合わせ例

まとめ

SQLのCASE文は、非常に便利な機能であり、条件分岐を簡単に実装することができます。基本構文から応用まで、多くのケースで活用することが可能です。今回の記事で学んだ内容をぜひ実際のクエリ作成に役立ててください。

コメント

コメントする

目次