MySQL で CASE 関数を使用して複数の条件判断を実装する方法
MySQL では、データを条件付きで判断し、さまざまな条件に基づいてさまざまな操作を実行する必要があることがよくあります。 CASE機能は、複数の条件判定を実装し、条件に応じて異なる操作を実行できる非常に便利なツールです。
CASE 関数の構文は次のとおりです。
CASE
WHEN 条件 1 THEN 結果 1
WHEN 条件 2 THEN 結果 2
...
ELSE 結果
END
このうち、condition は条件式であり、ブール値を返すことができる任意の式を指定できます。result は、対応する条件が満たされたときに実行する必要がある操作です。
次に、CASE 関数を使用して複数の条件判断を実装する方法を示すいくつかの例を示します。
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;
上記の例では、単一条件の判定のみを実行しました。複数の条件に基づいて判断する必要がある場合は、ネストされた 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;
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 サイトの他の関連記事を参照してください。