CASE WHEN構文の理解
メニューを表示するにはスワイプしてください
このモジュールでは、CASE WHEN 式とは何か、その仕組み、および SQL クエリで CASE WHEN を使用して条件付きロジックを適用する方法について学習します。これにより、特定の条件に基づいてデータを分類、ラベル付け、または変換することが、SQL ステートメント内で直接可能になります。
条件付きロジックは、SQL でデータを扱う際に不可欠な要素です。多くの場合、特定の条件に基づいてデータを分類、フラグ付け、または変換する必要があります。例えば、高売上と低売上のラベル付け、割引の適用、結果のグループ化などです。従来のプログラミング言語とは異なり、SQL ではこの目的のために if 文は使用しません。その代わりに、CASE WHEN 式を用いてクエリ内に分岐ロジックを直接導入します。これにより、各行のデータに応じて異なる値を結果セットとして返すことができます。
123456789SELECT id, product, quantity, CASE WHEN quantity >= 10 THEN 'High' ELSE 'Low' END AS sales_label FROM sales;
上記のクエリでは、CASE WHEN 構文の各部分が、SQL文に条件付きロジックを追加するための特定の役割を果たしています。CASE キーワードは条件ブロックの開始を示します。各 WHEN 節は評価する条件を指定します—この例では、quantity が10以上かどうかです。この条件が満たされると、その行には文字列 "High" が返されます。ELSE 節はフォールバック値を提供し、条件が満たされない場合に "Low" を返します。最後に、END キーワードが CASE ブロックを閉じ、結果に sales_label というエイリアスが付与され、出力の明確化が図られます。この構造により、任意のロジックに基づいてデータに動的なラベル付けや分類が可能となります。
12345678910SELECT id, product, quantity, CASE WHEN quantity >= 15 THEN 'High' WHEN quantity >= 8 THEN 'Medium' ELSE 'Low' END AS sales_label FROM sales;
1. SQLにおけるCASE WHEN文の主な目的は何ですか?
2. CASE WHENブロックを終了するために使用されるキーワードはどれですか?
3. Bulkの場合は販売種別をquantity >= 50、それ以外はStandardとラベル付けする基本的なCASE WHEN文の空欄を埋めてください。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください