広告スペース(バナー)
🗄️SQL レッスン
データ操作とサブクエリ5▾
構文の基本を深める7▾
応用的な条件・結合7▾
検索とテーブル操作の応用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エンジンの読み込みに数秒かかります。
🎯
ここまでできればゴール達成!
点数によってランクを表示するような、条件分岐した表示ができるようになります。
点数によってランクを表示するような、条件分岐した表示ができるようになります。
広告スペース(バナー)
広告スペース(記事内)