CASE関数を使用してMySQLで複数の条件判定を実装する方法

王林
リリース: 2023-07-24 20:41:45
オリジナル
2769 人が閲覧しました

MySQL で CASE 関数を使用して複数の条件判断を実装する方法

MySQL では、データを条件付きで判断し、さまざまな条件に基づいてさまざまな操作を実行する必要があることがよくあります。 CASE機能は、複数の条件判定を実装し、条件に応じて異なる操作を実行できる非常に便利なツールです。

CASE 関数の構文は次のとおりです。
CASE
WHEN 条件 1 THEN 結果 1
WHEN 条件 2 THEN 結果 2
...
ELSE 結果
END

このうち、condition は条件式であり、ブール値を返すことができる任意の式を指定できます。result は、対応する条件が満たされたときに実行する必要がある操作です。

次に、CASE 関数を使用して複数の条件判断を実装する方法を示すいくつかの例を示します。

  1. 単一の条件判断:

students テーブル。学生の情報と成績が含まれます。ここで、生徒の成績を得点に基づいて判定したいとします。得点が 80 点以上の場合は A、60 点以上 80 点未満の場合は B、評価が60点未満の場合はCとなります。これは、次のコードを使用して実現できます:

SELECT
name,
スコア,
CASE

  WHEN score >= 80 THEN 'A'
  WHEN score >= 60 THEN 'B'
  ELSE 'C'
ログイン後にコピー
ログイン後にコピー

END as Grade
FROM
students;

  1. 複数条件の判定:

上記の例では、単一条件の判定のみを実行しました。複数の条件に基づいて判断する必要がある場合は、ネストされた CASE 関数を使用できます。

注文情報と合計金額を含む注文テーブルがあるとします。ここでは合計金額で注文のレベルを判断したいのですが、合計金額が1,000以上の場合は上位の注文、合計金額が500以上の場合は上位の注文となります。 1,000の場合は中位の注文、合計金額が500未満の場合は下位の注文となります。これは、次のコードを使用して実現できます:

SELECT
order_id,
total_amount,
CASE

  WHEN total_amount >=1000 THEN '高级订单'
  WHEN total_amount >=500 THEN '中级订单'
  ELSE '低级订单'
ログイン後にコピー

END as level
FROM
orders;

  1. 更新操作での CASE 関数の適用:

CASE 関数をクエリ ステートメントで使用するだけでなく、更新操作でも CASE 関数を使用できます。たとえば、学生の成績を成績に基づいて更新したい場合、次のコードを使用してこれを実現できます:

UPDATE students
SET Grade =
CASE

  WHEN score >= 80 THEN 'A'
  WHEN score >= 60 THEN 'B'
  ELSE 'C'
ログイン後にコピー
ログイン後にコピー

END;

概要:

MySQL における CASE 関数は、複数の条件判定を実現し、条件に応じて異なる操作を実行できる非常に便利なツールです。 CASE 関数は、クエリ文でも更新操作でも、条件判断を簡潔かつ柔軟に行うのに役立ちます。この記事のサンプル コードが、読者の CASE 関数の理解と適用に役立つことを願っています。

以上がCASE関数を使用してMySQLで複数の条件判定を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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