ホームページ > データベース > SQL > SQLで使用する場合

SQLで使用する場合

DDD
リリース: 2023-07-17 15:37:36
オリジナル
6762 人が閲覧しました

case when in SQL は、SQL クエリのさまざまな条件に基づいてさまざまな操作を実行するために使用されます。任意の条件に基づいて判断し、条件の結果に基づいて対応する操作を実行できます。CASE WHEN ステートメントの動作原理は、条件を 1 つずつ上から下に判断することです。条件が満たされると、対応する操作が実行されます。条件を満たす最初の操作のみが実行されます。

SQLで使用する場合

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート