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;


