この記事では、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;
name | age | age_group |
---|---|---|
John | 25 | 若者 |
Jane | 35 | 中年 |
Tom | 60 | 高齢 |
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;
name | age | income | description |
---|---|---|---|
John | 25 | 6000 | 若くて高収入 |
Jane | 35 | 4000 | 中年以上で低収入 |
Tom | 60 | 5500 | その他 |
まとめ
SQLのCASE文は、非常に便利な機能であり、条件分岐を簡単に実装することができます。基本構文から応用まで、多くのケースで活用することが可能です。今回の記事で学んだ内容をぜひ実際のクエリ作成に役立ててください。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント