Maison  >  Article  >  base de données  >  Comment utiliser la fonction CASE pour implémenter plusieurs jugements conditionnels dans MySQL

Comment utiliser la fonction CASE pour implémenter plusieurs jugements conditionnels dans MySQL

王林
王林original
2023-07-24 20:41:452760parcourir

Comment utiliser la fonction CASE dans MySQL pour implémenter plusieurs jugements conditionnels

Dans MySQL, nous devons souvent effectuer des jugements conditionnels sur les données et effectuer différentes opérations basées sur différentes conditions. La fonction CASE est un outil très utile qui peut implémenter plusieurs jugements conditionnels et effectuer différentes opérations basées sur différentes conditions. La syntaxe de la fonction

CASE est la suivante :
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END

où, condition est une expression conditionnelle, qui peut être n'importe quelle expression qui peut renvoyer une valeur booléenne ; le résultat est l'opération qui doit être effectuée lorsque les conditions correspondantes sont remplies.

Voici quelques exemples montrant comment utiliser la fonction CASE pour implémenter plusieurs jugements conditionnels :

  1. Jugement conditionnel unique :

Supposons que nous ayons une table d'étudiants qui contient des informations et des notes sur les étudiants. Maintenant, nous voulons juger la note de l'élève en fonction de ses notes. Lorsque la note est supérieure ou égale à 80 points, c'est A, lorsque la note est supérieure ou égale à 60 points et inférieure à 80 points, c'est B, et lorsque la note est inférieure à 60 points, c'est C. Ceci peut être réalisé en utilisant le code suivant :

SELECT
nom,
score,
CASE

  WHEN score >= 80 THEN 'A'
  WHEN score >= 60 THEN 'B'
  ELSE 'C'

END comme note
FROM
élèves ;

  1. Jugement multi-conditions :

Dans l'exemple ci-dessus, nous avons uniquement effectué un jugement à une seule condition. Si nous devons juger en fonction de plusieurs conditions, nous pouvons utiliser la fonction CASE imbriquée.

Supposons que nous ayons un tableau des commandes contenant les informations sur la commande et le montant total. Nous souhaitons maintenant juger du niveau de la commande en fonction du montant total. Lorsque le montant total est supérieur ou égal à 1 000, il s'agit d'une commande de haut niveau, lorsqu'il est supérieur ou égal à 500 et inférieur à 1 000. c'est une commande de niveau intermédiaire, et lorsque le montant total est inférieur à 500, c'est une commande de bas niveau. Ceci peut être réalisé en utilisant le code suivant :

SELECT
order_id,
total_amount,
CASE

  WHEN total_amount >=1000 THEN '高级订单'
  WHEN total_amount >=500 THEN '中级订单'
  ELSE '低级订单'

END comme niveau
FROM
commandes ;

  1. Application de la fonction CASE dans les opérations de mise à jour :

En plus d'utiliser CASE dans l'instruction de requête En plus des fonctions, nous pouvons également utiliser la fonction CASE dans les opérations de mise à jour. Par exemple, si nous souhaitons mettre à jour les notes des étudiants en fonction de leurs notes, nous pouvons utiliser le code suivant pour y parvenir :

UPDATE Students
SET grade =
CASE

  WHEN score >= 80 THEN 'A'
  WHEN score >= 60 THEN 'B'
  ELSE 'C'

END;

Summary:

Dans MySQL, la fonction CASE est un outil très utile qui peut implémenter plusieurs jugements conditionnels et effectuer différentes opérations basées sur différentes conditions. Que ce soit dans les instructions de requête ou les opérations de mise à jour, la fonction CASE peut nous aider à formuler des jugements conditionnels de manière concise et flexible. J'espère que l'exemple de code de cet article pourra aider les lecteurs à mieux comprendre et appliquer la fonction CASE.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn