SQL Quest › SQL Interview Questions › Window Functions

Salary Lead-Lag Gap Within Department

HardProQuerying BasicsWindow Functions

For each employee, show their salary and the gap to the person immediately below and immediately above them in their department's salary ladder. Return: name, department, salary, prev_salary (LAG), next_salary (LEAD), gap_below (salary - prev_salary), gap_above (next_salary - salary). Order by department, salary.

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: Each employee with their salary neighbours and gaps

Hint

This is a Pro challenge — the hint, the step-by-step tutor and the reference solution open in the app.

Concepts

SELECT Window Functions LAG LEAD PARTITION BY

Practise the topic: SQL practice questions · Window function practice · Advanced SQL interview questions

Read the concept: SQL running total

In these company practice sets

Airbnb · Anthropic · Databricks · NVIDIA · Snowflake

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

Related questions

Moving Average with Dynamic WindowHard · ProSalary Rank Within DepartmentHard · FreeRank Movies by RatingHard · ProTop Earner Per DepartmentHard · Pro7-Day Rolling Revenue AverageHard · Free3-Movie Rolling Average RevenueHard · Pro

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