logo

SQL CASE ステートメント

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疑いタークールインド23xxxxxxxxxx
2安全チョプラオーストラリア21xxxxxxxxxx
3ナヴィーントゥラシスリランカ24xxxxxxxxxx
4アディティアアルパンオーストリア21xxxxxxxxxx
5ニシャント。ソーセージ S.A.ジャイナ教スペイン22xxxxxxxxxx

次の 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;>>

出力:

case ステートメントの出力例に複数の条件を追加する

出力

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 ステートメントの出力例

ORDER BY 句を使用した CASE ステートメントの出力例

CASE ステートメントに関する重要なポイント

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