SQL CASE ステートメント は、ユーザーがさまざまな条件に基づいてさまざまなアクションを実行できるようにする条件式です。これは、他のプログラミング言語の if-else ロジックに似ています。
SQLのCASE文
SQL の CASE 式はすべての条件を通過し、いずれかの条件が満たされると停止します。条件が true を返した後は他の条件をチェックせず、その条件に基づいて結果を返します。
どの条件も真でない場合は、ELSE 部分が実行されます。 ELSE 部分がない場合は戻ります。 ヌル。
構文
SQL で CASE ステートメントを使用するには、次の構文を使用します。
場合 ケースの値
いつ 状態 それから 結果1
いつ 状態 それから 結果2
…
それ以外 結果
終わり 場合;
SQL CASE の例
理解を深めるために、SQL の CASE ステートメントの例をいくつか見てみましょう。
例で使用するデモ SQL テーブルを作成しましょう。
エキスパートシステム
デモ SQL データベース
SQL CASE ステートメントの例では、このサンプル SQL テーブルを使用します。
| 顧客ID | 顧客名 | 苗字 | 国 | 年 | 電話 |
|---|---|---|---|---|---|
| 1 | 疑い | タークール | インド | 23 | xxxxxxxxxx |
| 2 | 安全 | チョプラ | オーストラリア | 21 | xxxxxxxxxx |
| 3 | ナヴィーン | トゥラシ | スリランカ | 24 | xxxxxxxxxx |
| 4 | アディティア | アルパン | オーストリア | 21 | xxxxxxxxxx |
| 5 | ニシャント。ソーセージ S.A. | ジャイナ教 | スペイン | 22 | xxxxxxxxxx |
次の MySQL クエリを記述することで、システム内に同じデータベースを作成できます。
MySQL CREATE TABLE Customer( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
CASE 式の例
この例では CASE ステートメントを使用します
クエリ:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
複数の条件がある場合の SQL CASE の例
複数の条件を使用することで、CASE ステートメントに複数の条件を追加できます。 いつ 条項。
クエリ:
SELECT CustomerName, Age, CASE WHEN Age>22 THEN '年齢は 22 歳以上です' WHEN 年齢 = 21 THEN '年齢は 21 歳です' ELSE '年齢は 30 歳以上です' END AS QuantityText FROM Customer;>>
出力:

出力
ORDER BY 句を使用した CASE ステートメントの例
CustomerID、CustomerName、LastName、 Country、Age、Phone を含む Customer テーブルを考えてみましょう。 Customer テーブルのデータを確認するには、 注文方法 CASE ステートメントで句を使用します。
クエリ:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
出力:

ORDER BY 句を使用した CASE ステートメントの出力例
CASE ステートメントに関する重要なポイント
- SQL CASE ステートメントは、指定された条件に基づいてさまざまなクエリを実行できるようにする条件式です。
- 常に存在する必要があります 選択する CASE ステートメント内で。
- END ELSEは オプションのコンポーネントですが、 そのとき これらのケースは CASE ステートメントに含める必要があります。
- 任意の条件演算子を使用して、任意の条件ステートメントを作成できます (例: どこ ) WHEN と THEN の間。これには、AND と OR を使用して複数の条件ステートメントを結合することが含まれます。
- 未対処の条件に対抗するために、複数の WHEN ステートメントと ELSE ステートメントを含めることができます。