← SQL avancé
Leçon 2 / 9 — Chapitre 10: Mise en pratique : ressources humaines
CTE récursive : l'organigramme complet
Comme au chapitre 7, une CTE récursive calcule le niveau hiérarchique de chaque collaborateur, du sommet jusqu'à la base.
WITH RECURSIVE organigramme AS (
SELECT id, nom, manager_id, 0 AS niveau
FROM collaborateurs WHERE manager_id IS NULL
UNION ALL
SELECT c.id, c.nom, c.manager_id, o.niveau + 1
FROM collaborateurs c
JOIN organigramme o ON c.manager_id = o.id
)
SELECT * FROM organigramme;
Le terme d'ancrage démarre sur Fatou (niveau 0). Le terme récursif ajoute ensuite Moussa et Aicha (niveau 1, managés par Fatou), puis Ibrahim, Khadija, Ousmane et Ramata (niveau 2, managés par Moussa ou Aicha). Résultat : les 7 collaborateurs.
À retenir :
- Cette structure de CTE récursive est identique à celle du chapitre 7 (catégories) : seule la table et les noms de colonnes changent.
- Le niveau hiérarchique calculé ici sert de base à plusieurs leçons suivantes de ce chapitre.
À vous de jouer : quel est le niveau d'Ibrahim (id 4) 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