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.