case when in SQL は、SQL クエリのさまざまな条件に基づいてさまざまな操作を実行するために使用されます。任意の条件に基づいて判断し、条件の結果に基づいて対応する操作を実行できます。CASE WHEN ステートメントの動作原理は、条件を 1 つずつ上から下に判断することです。条件が満たされると、対応する操作が実行されます。条件を満たす最初の操作のみが実行されます。
SQL の CASE WHEN ステートメントは、SQL クエリのさまざまな条件に基づいてさまざまな操作を実行するために使用される条件式です。あらゆる条件に基づいて判断し、条件の結果に基づいて対応する操作を実行できます。 SQL の CASE WHEN ステートメントの構文は次のとおりです。
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END
この構文では、condition1 とcondition2 は条件式であり、SQL と互換性のある任意の条件を指定できます。 result1 と result2 は実行結果であり、列名、定数値、または式を指定できます。最終的な ELSE 結果はオプションであり、条件が満たされない他の状況を処理するために使用されます。
CASE WHEN ステートメントの動作原理は、条件を上から下に 1 つずつ判断し、条件が満たされると、対応する操作が実行され、最初に条件を満たす操作のみが実行されます。処刑される。条件が満たされない場合は、ELSE ブロック内の操作が実行されます。
CASE WHEN ステートメントの例をいくつか示します:
1. 単純な CASE WHEN ステートメント:
SELECT customer_name, CASE WHEN gender = 'Male' THEN 'Mr.' WHEN gender = 'Female' THEN 'Ms.' ELSE 'Unknown' END AS salutation FROM customers;
上記のクエリは、以下に基づいてさまざまな結果を生成します。性別欄 性別が男性の場合は「さん」、女性の場合は「さん」、それ以外の場合は「不明」となります。
2. CASE WHEN ステートメントと集計関数の組み合わせ:
SELECT department_id, COUNT(*) AS employees_count, CASE WHEN COUNT(*) > 10 THEN 'Large' WHEN COUNT(*) > 5 THEN 'Medium' ELSE 'Small' END AS department_size FROM employees GROUP BY department_id;
上記のクエリは、従業員数に応じて部門を大、中、小に分割します。各部門に分かれており、小さな 3 つの異なるカテゴリがあります。
3. WHERE 句での CASE WHEN ステートメントの適用:
SELECT order_id, order_date, CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END AS shipped_flag FROM orders WHERE CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END = 1;
上記のクエリは出荷された注文のみを返し、フィルター条件では CASE WHEN が使用されます。声明 。
概要
CASE WHEN ステートメントは、さまざまな条件に基づいてさまざまな操作を実行できる SQL の非常に便利な条件式です。さまざまなシナリオを処理する柔軟な方法を提供し、クエリをより簡潔かつ直感的にします。新しい列の生成、統計の計算、データのフィルタリングのいずれであっても、CASE WHEN ステートメントはニーズを満たし、SQL クエリの最適化に役立ちます。
以上がSQLで使用する場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。