Leçon 2 / 9 — Chapitre 4: CASE WHEN et agrégation conditionnelle
CASE simple vs CASE recherché
Toutes les leçons précédentes utilisaient un CASE recherché (CASE WHEN condition THEN ...), qui accepte n'importe quelle condition booléenne. Il existe une forme plus courte, le CASE simple, qui compare une seule expression à des valeurs précises par égalité uniquement.
SELECT statut,
CASE statut
WHEN 'actif' THEN 'Client actif'
WHEN 'inactif' THEN 'Client inactif'
ELSE 'Statut inconnu'
END AS libelle
FROM clients WHERE id = 1;
CASE statut WHEN 'actif' THEN ... compare statut à chaque valeur listée, par égalité stricte. Pour ce client (statut = 'actif'), le résultat est 'Client actif'. C'est un raccourci pour CASE WHEN statut = 'actif' THEN ... : les deux formes produisent exactement le même résultat ici.
La limite du CASE simple : il ne peut tester que l'égalité. Une condition comme montant >= 100 exige la forme recherchée (CASE WHEN montant >= 100 THEN ...) — le CASE simple ne sait pas l'exprimer.
À retenir :
CASE expr WHEN val1 THEN ... WHEN val2 THEN ... END(CASE simple) compare une expression à des valeurs par égalité.CASE WHEN cond1 THEN ... WHEN cond2 THEN ... END(CASE recherché) accepte n'importe quelle condition (>=,BETWEEN,LIKE...).- Le CASE simple est un raccourci plus court, mais uniquement pour des comparaisons d'égalité — la forme recherchée reste nécessaire pour tout le reste.
À vous de jouer : réécrivez le CASE simple de cette leçon sous forme de CASE recherché équivalent.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès