task Recursive CTEs · hard
Management chain for every employee
Starting from every employee with no manager, return id, name, level (top = 1) and chain: the names from the top of the hierarchy down to the employee, joined by ' > '.
what to return
- Columns
idnamelevelchainin this order- Rows
- 20 rows · any order
- Watch for
- There can be more than one person with no manager — each starts their own tree.
- A top-level chain is just that person's name.
- Skill
- Traverse a tree with a recursive CTE. Refresher: Self-joins & referral relationships →
expected result
Your query should return exactly these columns and values. Run it and compare.
expected result20 rows · any order
| id | name | level | chain |
|---|---|---|---|
| 1 | Ada Moreno | 1 | Ada Moreno |
| 19 | Sana Iqbal | 1 | Sana Iqbal |
| 2 | Bruno Costa | 2 | Ada Moreno > Bruno Costa |
first 3 of 20 rows
data you can query
Sample rows from each table. Each column shows its type underneath; → marks a link to another table.
employees7 columns · 20 rows
| idinteger · key | nametext | manager_idinteger → employees | department_idinteger → departments | titletext | salaryreal | hired_attext |
|---|---|---|---|---|---|---|
| 1 | Ada Moreno | NULL | NULL | CEO | 250000 | 2019-03-01 |
| 2 | Bruno Costa | 1 | 1 | VP Engineering | 180000 | 2019-06-15 |
| 3 | Carmen Diaz | 1 | 2 | VP Sales | 150000 | 2020-01-10 |
| 4 | Dev Patel | 2 | 1 | Engineering Manager | 140000 | 2020-05-04 |
| 5 | Elif Kaya | 4 | 1 | Senior Engineer | 145000 | 2021-02-01 |
showing 5 of 20 rows
solution.sql
Hints and the answer are always available. Using them counts the question as solved with help.