SQL QuestSQL Interview Questions › Joins

Earning More Than the Boss (Self Join)

MediumFreeQuerying BasicsJoins

A comp-equity audit wants to surface every case where an employee earns more than their direct manager — a structural red flag worth a manual review (sometimes it's the right thing, e.g. a specialist IC under a generalist manager; sometimes it's a pay-band mistake).

Using a self join, show emp_name, emp_salary, manager_name, manager_salary, and diff (emp_salary - manager_salary). Order by diff descending.

This is one of the most-asked self-join interview questions because it tests whether you can comfortably alias the same table twice and remember which alias means what.

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 | 95000 | Bob | 80000 | 15000

Hint

JOIN employees m ON e.manager_id = m.emp_id, then WHERE e.salary > m.salary. The diff column is just e.salary - m.salary in SELECT.

Concepts

SELECT JOIN Self Join WHERE

Practise the topic: SQL practice questions · JOIN practice

In these company practice sets

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