ConsigneSur la table employes (colonnes id, nom, manager_id), génère la hiérarchie avec WITH RECURSIVE : démarre par les employés sans manager (manager_id IS NULL, niveau 0), puis descend d'un niveau à chaque étape. Colonnes : id, nom, manager_id, niveau.
Une requête récursive (with recursive) s'appelle elle-même pour parcourir des hiérarchies (arborescence de categories, organigramme).
Structure
WITH RECURSIVE cte AS ( SELECT ... (cas de départ) UNION ALL SELECT ... FROM table JOIN cte ... (étape répétée))Exemple (table categories, hiérarchie parent/enfant) :
WITH RECURSIVE arbre AS ( SELECT id, nom, parent_id, 0 AS niveau FROM categories WHERE parent_id IS NULL UNION ALL SELECT c.id, c.nom, c.parent_id, a.niveau + 1 FROM categories c JOIN arbre a ON c.parent_id = a.id)SELECT * FROM arbre;-> chaque categorie avec sa profondeur dans l'arborescenceEnvie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →