Hierarchical Queries (Finding Manager Trees) 🌲
WITH RECURSIVE employee_tree AS ( SELECT employee_id, manager_id, 1 AS level FROM employees WHERE manager_id IS NULL UNION ALL SELECT e.employee_id, e.manager_id, et.level + 1 FROM employees e JOIN employee_tree et ON e.manager_id = et.employee_id ) SELECT * FROM employee_tree;
- Use a recursive CTE to traverse the hierarchy.
- The base case includes top-level managers, and recursion builds levels.