SQL interview question: Salary vs Department Average
Compare Employee Salary to Department Average
Each employee's review includes how their salary compares to their department's average.
Return employee_name (full name), dept_name, salary, dept_avg_salary (rounded to 0 decimals), and diff_from_avg (salary minus dept average, rounded to 0). Order by diff_from_avg descending. Limit to 10.
Skills: window functions with AVG() OVER (PARTITION BY)
Tables
employees 37 rows
- id integer PK
- first_name text
- last_name text
- email text
- department_id integer → departments
- salary integer
- hire_date text
- manager_id integer → employees
- title text
| id | first_name | last_name | department_id | salary | hire_date | manager_id | title | |
|---|---|---|---|---|---|---|---|---|
| 1 | Alice | Chen | [email protected] | 1 | 250000 | 2015-01-15 | NULL | CEO |
| 2 | Robert | Martinez | [email protected] | 2 | 180000 | 2016-03-20 | NULL | CEO |
| 3 | Sarah | Johnson | [email protected] | 1 | 150000 | 2017-06-10 | 1 | VP Engineering |
departments 5 rows
- id integer PK
- name text
- location text
| id | name | location |
|---|---|---|
| 1 | Engineering | San Francisco |
| 2 | Sales | New York |
| 3 | Marketing | Los Angeles |