SQL QuestSQL Interview Questions › Joins

Self-Join: Employee and Manager

MediumFreeQuerying BasicsJoins

A self-join joins a table to itself. Join the employees table to itself to show each employee alongside their manager. Show emp_name, emp_department, emp_salary, manager_name, and manager_department. Include employees with no manager (CEO). Sort by manager_name, emp_name. Self-joins unlock hierarchical data.

Solve it in the browser editor →

Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".

Schema

employees

emp_idnamedepartmentpositionsalaryhire_datemanager_idperformance_rating
1Alice JohnsonEngineeringSenior Developer950002019-03-1554.5
2Bob SmithEngineeringDeveloper750002020-06-0113.8
3Carol WilliamsMarketingMarketing Manager850002018-09-20NULL4.2

Expected output: Alice | ... | Bob | ...

Hint

FROM employees e LEFT JOIN employees m ON e.manager_id = m.emp_id. LEFT JOIN keeps employees with NULL manager_id. Use aliases e (employee) and m (manager).

Concepts

SELECT Self-Join LEFT JOIN

Practise the topic: SQL practice questions · JOIN practice

In these company practice sets

Snowflake · LinkedIn

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Customers Who Never OrderedMedium · FreeAbove-Average Departments (Derived Table)Medium · FreeLEFT JOIN NULL Semantics: Inactive CustomersMedium · FreeManagement Hierarchy OverviewMedium · FreeCount Direct ReportsMedium · FreeCustomer Recency AnalysisMedium · Free

Where would this cost you points in an interview?

Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.

Take the readiness test