Maison  >  Article  >  base de données  >  Comment utiliser la fonction CASE dans MySQL pour effectuer un jugement multi-conditions

Comment utiliser la fonction CASE dans MySQL pour effectuer un jugement multi-conditions

WBOY
WBOYoriginal
2023-07-12 23:52:352673parcourir

Comment utiliser la fonction CASE dans MySQL pour effectuer un jugement multi-conditions

Dans la base de données MySQL, la fonction CASE est un outil très puissant qui peut effectuer un jugement multi-conditions dans l'instruction de requête. Cela nous permet de renvoyer différents résultats basés sur différentes conditions pour répondre à des besoins commerciaux complexes. Cet article explique comment utiliser la fonction CASE dans MySQL pour effectuer un jugement multi-conditions et fournit quelques exemples de code.

La structure syntaxique de la fonction CASE est la suivante :

CASE
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   WHEN condition3 THEN result3
   ...
   ELSE result
END

Dans cette structure syntaxique, nous pouvons renvoyer différents résultats (result) selon différentes conditions. Lorsque toutes les conditions ne sont pas remplies, vous pouvez utiliser le mot-clé ELSE pour spécifier un résultat par défaut.

Maintenant, supposons que nous ayons une table appelée étudiants qui stocke les noms, âges et notes des étudiants. Nous devons classer les étudiants en fonction de leurs notes et déterminer s'il s'agit d'adolescents en fonction de leur âge. Voici un exemple de code qui utilise la fonction CASE pour le jugement multi-conditions :

SELECT 
   name,
   age,
   grade,
   CASE
      WHEN grade >= 90 THEN '优秀'
      WHEN grade >= 80 THEN '良好'
      WHEN grade >= 70 THEN '中等'
      ELSE '不及格'
   END AS level,
   CASE
      WHEN age >= 12 AND age <= 18 THEN '青少年'
      ELSE '成年人'
   END AS category
FROM students;

Dans le code ci-dessus, nous utilisons deux fonctions CASE pour juger les notes et l'âge de l'élève, et renvoyons respectivement des résultats différents. Les notes sont réparties selon les scores : si le score est supérieur ou égal à 90 points, il est excellent ; si le score est supérieur ou égal à 80 points, il est bon ; 70 points, c'est moyen ; sinon, c'est raté. La classification est basée sur l'âge. Si l'âge est compris entre 12 et 18 ans, il s'agit d'un adolescent, sinon il s'agit d'un adulte.

En plus du jugement conditionnel de base, la fonction CASE peut également utiliser des opérateurs logiques pour combiner plusieurs conditions. Supposons que nous devions juger les notes et l'assiduité des étudiants séparément, et attribuer différentes récompenses en fonction des résultats du jugement. L'exemple de code est le suivant :

SELECT 
   name,
   attendance,
   grade,
   CASE
      WHEN grade >= 90 AND attendance = '100%' THEN '获奖'
      WHEN grade >= 80 OR attendance = '100%' THEN '鼓励'
      ELSE '加油'
   END AS reward
FROM students;

Dans le code ci-dessus, nous utilisons deux jugements conditionnels pour attribuer des récompenses différentes en fonction des notes et. récompenses de fréquentation. Si le score est supérieur ou égal à 90 points et l'assiduité est de 100%, vous serez récompensé ; si le score est supérieur ou égal à 80 points ou l'assiduité est de 100%, vous serez encouragé ; acclamations.

Grâce à l'exemple de code ci-dessus, nous avons appris à utiliser la fonction CASE dans MySQL pour effectuer un jugement multi-conditions. La fonction CASE simplifie non seulement la logique de jugement conditionnel complexe, mais fournit également une structure syntaxique flexible, nous permettant de renvoyer différents résultats en fonction de différentes conditions. Dans le développement réel, nous pouvons utiliser la fonction CASE de manière flexible en fonction des besoins spécifiques de l'entreprise pour rendre les opérations de base de données plus efficaces et plus pratiques.

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