広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 20 / 50

CASE式で条件によって値を変える

このレッスンでは、CASE式を使った条件による値の変換を学び、SQLの中で条件分岐ができるようになることを目標にします。「SQL CASE式 使い方」で調べている方向けの内容です。

CASE WHEN 条件 THEN 値 ... ENDを使うと、条件によって表示する値を切り替えられます。プログラミング言語のif文にあたる、SQLの中で使える「条件分岐」です。

サンプルコードでは、CASE WHEN score >= 80 THEN 'A' WHEN score >= 70 THEN 'B' ELSE 'C' ENDという形で、点数に応じてA・B・Cという評価に変換しています。上から順に条件が評価され、最初に一致したものが採用される点は、他の言語のif/elifとよく似ています。

初心者がよくつまずくのが、ENDを書き忘れることです。CASEで始めた式は必ずENDで締めくくる必要があり、これを忘れると構文エラーになります。ELSEを省略すると、どの条件にも当てはまらない場合はNULLになる点にも注意しましょう。

点数を「A・B・C」のような評価に変換したり、ステータスの数字を人が読みやすい文字列に変換したりと、集計レポートを見やすくするために非常によく使われる文法で、覚えておくと表現の幅が広がります。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
点数によってランクを表示するような、条件分岐した表示ができるようになります。
広告スペース(バナー)
広告スペース(記事内)