← SQL avancé
Leçon 4 / 9 — Chapitre 10: Mise en pratique : ressources humaines
CASE : classer les collaborateurs par tranche de salaire
Comme aux chapitres 4, 8 et 9, SUM(CASE WHEN ...) répartit les collaborateurs en tranches, en une seule requête.
SELECT
SUM(CASE WHEN salaire >= 5000 THEN 1 ELSE 0 END) AS nb_direction,
SUM(CASE WHEN salaire >= 3000 AND salaire < 5000 THEN 1 ELSE 0 END) AS nb_senior,
SUM(CASE WHEN salaire < 3000 THEN 1 ELSE 0 END) AS nb_junior
FROM collaborateurs;
Sur les 7 salaires (8000, 6000, 6000, 4000, 3000, 3500, 2800) : 3 sont ≥ 5000 (Fatou, Moussa, Aicha — nb_direction), 3 sont entre 3000 et 4999 (Ibrahim, Khadija, Ousmane — nb_senior), 1 est en dessous de 3000 (Ramata, 2800 — nb_junior). Vérification : 3 + 3 + 1 = 7.
À retenir :
- Une classification par tranches (ici, de salaire) reprend exactement la même technique que les cas pratiques précédents de ce module.
- Choisir des bornes qui se touchent exactement (
>= 3000 AND < 5000, puis>= 5000) évite tout chevauchement ou tout trou entre les tranches.
À vous de jouer : quelle est la valeur de nb_junior dans ce résultat ?
🔒
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