Instruction CASE avec MySQL
Dans ce tutoriel nous allons découvrir comment utiliser l’expression CASE dans MySQL avec une syntaxe et des exemples. L’expression CASE vous permet d’ajouter une logique if-else à une requête. En générale, vous pouvez utiliser l’expression CASE n’importe où, par exemple dans les clauses SELECT, WHERE et ORDER BY.
Syntaxe 1:
CASE valeur WHEN valeur1 THEN instruction1 WHEN valeur2 THEN instruction2 … [ELSE instruction3] END
Dans cette syntaxe, CASE fait correspondre la valeur avec les valeurs « valeur1 », « valeur2 », etc., et renvoie l’instruction correspondant. Si la valeur n’est égale à aucune valeurs CASE renvoie l’instruction dans la clause ELSE si la clause ELSE est spécifiée.
Exemple:
SELECT CASE niveau WHEN 'A' THEN 'Utilisateur débutant' WHEN 'B' THEN 'Utilisateur indépendant' WHEN 'C' THEN 'Utilisateur expérimenté' ELSE 'Niveau n`existe pas!' END AS niveau_langue FROM grades;
Syntaxe 2:
CASE WHEN condition1 THEN instruction1 WHEN condition2 THEN instruction2 … [ELSE instruction3] END
Dans cette syntaxe, CASE évalue les conditions spécifiées dans les clauses WHEN. Si une condition est évaluée à true. CASE renvoie l’instruction correspondant dans la clause THEN. Sinon, l’instruction spécifié dans la clause ELSE est renvoyé. Si la clause ELSE n’existe pas, l’expression CASE renvoie NULL.
Exemple:
SELECT CASE WHEN points < 10 THEN 'échec' WHEN points BETWEEN 10 AND 12 THEN 'passable' WHEN points BETWEEN 12 AND 16 THEN 'bien' ELSE 'très bien' END AS resultat FROM test;