Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ CASE WHEN構文の理解 | セクション
SQLにおけるCASE WHENの習得

bookCASE WHEN構文の理解

メニューを表示するにはスワイプしてください

このモジュールでは、CASE WHEN 式とは何か、その仕組み、および SQL クエリで CASE WHEN を使用して条件付きロジックを適用する方法について学習します。これにより、特定の条件に基づいてデータを分類、ラベル付け、または変換することが、SQL ステートメント内で直接可能になります。

条件付きロジックは、SQL でデータを扱う際に不可欠な要素です。多くの場合、特定の条件に基づいてデータを分類、フラグ付け、または変換する必要があります。例えば、高売上と低売上のラベル付け、割引の適用、結果のグループ化などです。従来のプログラミング言語とは異なり、SQL ではこの目的のために if 文は使用しません。その代わりに、CASE WHEN 式を用いてクエリ内に分岐ロジックを直接導入します。これにより、各行のデータに応じて異なる値を結果セットとして返すことができます。

123456789
SELECT id, product, quantity, CASE WHEN quantity >= 10 THEN 'High' ELSE 'Low' END AS sales_label FROM sales;
copy

上記のクエリでは、CASE WHEN 構文の各部分が、SQL文に条件付きロジックを追加するための特定の役割を果たしています。CASE キーワードは条件ブロックの開始を示します。各 WHEN 節は評価する条件を指定します—この例では、quantity が10以上かどうかです。この条件が満たされると、その行には文字列 "High" が返されます。ELSE 節はフォールバック値を提供し、条件が満たされない場合に "Low" を返します。最後に、END キーワードが CASE ブロックを閉じ、結果に sales_label というエイリアスが付与され、出力の明確化が図られます。この構造により、任意のロジックに基づいてデータに動的なラベル付けや分類が可能となります。

12345678910
SELECT id, product, quantity, CASE WHEN quantity >= 15 THEN 'High' WHEN quantity >= 8 THEN 'Medium' ELSE 'Low' END AS sales_label FROM sales;
copy

1. SQLにおけるCASE WHEN文の主な目的は何ですか?

2. CASE WHENブロックを終了するために使用されるキーワードはどれですか?

3. Bulkの場合は販売種別をquantity >= 50、それ以外はStandardとラベル付けする基本的なCASE WHEN文の空欄を埋めてください。

question mark

SQLにおけるCASE WHEN文の主な目的は何ですか?

正しい答えを選んでください

question mark

CASE WHENブロックを終了するために使用されるキーワードはどれですか?

正しい答えを選んでください

question-icon

Bulkの場合は販売種別をquantity >= 50、それ以外はStandardとラベル付けする基本的なCASE WHEN文の空欄を埋めてください。

SELECT id, product, quantity, quantity >= 50 'Bulk' 'Standard' AS sale_type FROM sales;
id | product | quantity | sale_type
---+------------+----------+-----------
1 | Laptop | 5 | Standard
2 | Smartphone | 10 | Standard
3 | Tablet | 7 | Standard
4 | Headphones | 15 | Standard
5 | Monitor | 3 | Standard
6 | Keyboard | 12 | Standard
7 | Mouse | 20 | Standard
8 | Printer | 2 | Standard
9 | Laptop | 4 | Standard
10 | Smartphone | 8 | Standard
11 | Tablet | 6 | Standard
12 | Monitor | 5 | Standard
13 | Headphones | 10 | Standard
14 | Keyboard | 9 | Standard
15 | Mouse | 18 | Standard

クリックまたはドラッグ`n`ドロップして空欄を埋めてください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  1

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  1
some-alt