sql >> データベース >  >> RDS >> Database

SQLでCASEステートメントを使用する方法を学ぶ

    毎日膨大な量のデータが生成される今日の世界では、条件に基づいてデータを取得できるようにする必要があります。したがって、SQLでのCASEに関するこの記事では、条件に基づいてデータを取得するために使用されるCASEステートメントについて説明します。

    この記事では、次のトピックについて説明します。

      1. SQLのCASEとは何ですか?
      2. CASE構文
      3. 簡単なCASE式の例
      4. CASE式の例を検索

    SQLのCASEとは何ですか?

    CASEステートメントは、いくつかの条件に基づいてデータを取得するために使用されます。したがって、条件が満たされると、データの読み取りを停止し、必要な結果を返します。条件が満たされないシナリオでは、ELSE句から値を返します。これとは別に、ELSEパーツがない場合、条件は満たされず、NULLを返します。

    CASE構文

    CASE
    	    WHEN Condition1 THEN Result1
    	    WHEN Condition2 THEN Result2
    		WHEN Condition3 THEN Result3
    	    WHEN ConditionN THEN ResultN
    	    ELSE Result;
    

    さて、お話ししたので、SQLのCASEステートメントの構文は何ですか。値または検索条件を使用して、CASEステートメントを使用する方法を見てみましょう。

    例として次の表を検討してください。

    StudentID FirstName 年齢 都市
    1 ローハン 14 ハイデラバード
    2 ソナリ 21 バンガロール
    3 Ajay 13 ラクナウ
    4 Geeta 25 ラクナウ
    5 Shubham 20 デリー

    単純なCASE式の例

    SQLでは単純なCASEを使用して、いくつかの条件に基づいてデータを返し、最初の条件が満たされたときに値を返します。

    SELECT StudentID, City,
    CASE
        WHEN Age > 20 THEN "Age is greater than "
        WHEN Age = 20 THEN "Age is equal to 20"
        ELSE "Age is below 20"
    END AS AgeValue
    FROM Students;
    

    上記のクエリを実行すると、次の出力が表示されます。

    StudentID 都市 AgeValue
    1 ハイデラバード 年齢が20歳未満です
    2 バンガロール 年齢が20歳を超えています
    3 ラクナウ 年齢が20歳未満です
    4 ラクナウ 年齢が20歳を超えています
    5 デリー 年齢は20歳です

    検索CASE式の例

    Search CASEはSQLで使用され、CASEステートメントに存在する条件に基づいてデータを返します。年齢別に生徒を注文する必要があるシナリオを考えてみましょう。ただし、年齢が15〜18歳の場合は、市ごとに注文する必要があります

    SELECT FirstName, Age, City FROM Students
    ORDER BY (
    CASE
    WHEN Age BETWEEN 15 AND 18 THEN City
    ELSE Age
    END
    );
    

    上記のテーブル「Students」にはNULL値が存在しないため、上記のクエリを実行すると、次の出力が表示されます。

    FirstName 年齢 都市
    Ajay 13 ラクナウ
    ローハン 14 ハイデラバード
    Shubham 20 デリー
    ソナリ 21 バンガロール
    Geeta 25 ラクナウ

    これで、SQLのCASEに関するこの記事は終わりです。 CASEステートメントを使用して条件に基づいてデータを取得する方法を理解していただければ幸いです。詳細を知りたい場合は MySQL そしてこのオープンソースのリレーショナルデータベースを理解してから、をチェックしてください。 MySQLDBA認定トレーニング には、インストラクター主導のライブトレーニングと実際のプロジェクトの経験が含まれています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

    質問がありますか?この記事の「CASEinSQL」に関するコメントセクションでそれについて言及してください。折り返しご連絡いたします。


    1. PL/SQLのUPDATEの影響を受ける行数

    2. MySQLの回避策テーブルを再度開くことができないというエラー

    3. ラッチの概要

    4. Oracleの日付