SQLのCASE文を用いた条件分岐の詳細解説

この記事では、SQLのCASE文を用いた条件分岐について詳細に解説します。データテーブルを用いて具体的な例を提示することで、理解を深める手助けをします。また、CASE文の書き方からその応用までを幅広く取り上げます。

目次

はじめに

SQL(Structured Query Language)は、データベースを操作するためのプログラミング言語です。その中でも、CASE文は条件分岐を行う際に非常に役立つ機能の一つです。この記事では、基本的なCASE文の使い方から応用テクニックまで、幅広く解説します。

CASE文とは

CASE文は、SQLのSELECT、UPDATE、DELETE文などで使用できる条件分岐のための文です。IF文やswitch文に似ていますが、SQLにおいてはCASE文がよく使われます。

基本的な書き方

基本的なCASE文の書き方は以下の通りです。

SELECT 
    CASE 
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE result
    END
FROM table_name;

CASE文の具体的な例

等価条件での使用

たとえば、顧客テーブルがあり、その中で顧客のランクを設定したい場面を考えてみましょう。

customer_idtotal_purchase
13000
215000
37000
顧客テーブル

上記のようなテーブルがある場合、次のようなCASE文を使用できます。

SELECT 
    customer_id,
    CASE 
        WHEN total_purchase < 5000 THEN 'Bronze'
        WHEN total_purchase < 10000 THEN 'Silver'
        ELSE 'Gold'
    END AS customer_rank
FROM customers;

複数条件での使用

CASE文では複数条件を1つのWHEN節で指定することもできます。例えば:

SELECT 
    product_id,
    CASE 
        WHEN price < 1000 AND stock > 100 THEN 'Low cost & High stock'
        WHEN price >= 1000 AND stock <= 100 THEN 'High cost & Low stock'
        ELSE 'Others'
    END AS product_status
FROM products;

まとめ

CASE文はSQLで条件分岐を行うための非常に強力なツールです。基本的な使い方から応用テクニックまで、様々な場面でCASE文を活用することができます。この記事を通して、CASE文の理解が深まったと思います。今後のデータベース操作にぜひ活かしてください。

コメント

コメントする

目次