SQL Quest › SQL Interview Questions › Window Functions
Your First Window Function
HR wants a roster that shows every employee next to the company-wide average salary, so each person can see where they sit without running a second query.
Show name, department, salary, and company_avg (the average salary across all employees, rounded to 2 decimals). Order by name.
This is the one idea that makes every other window function make sense: AVG(salary) OVER () adds a column without collapsing your rows. GROUP BY would give you one row back. OVER () gives you all 50 rows, each carrying the same average. The empty parentheses mean "the window is the whole table".
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_id | name | department | position | salary | hire_date | manager_id | performance_rating |
|---|---|---|---|---|---|---|---|
| 1 | Alice Johnson | Engineering | Senior Developer | 95000 | 2019-03-15 | 5 | 4.5 |
| 2 | Bob Smith | Engineering | Developer | 75000 | 2020-06-01 | 1 | 3.8 |
| 3 | Carol Williams | Marketing | Marketing Manager | 85000 | 2018-09-20 | NULL | 4.2 |
Expected output: 50 rows — every row carries company_avg = 72760
Hint
SELECT, Window Functions, AVG, and open the hint there if you stall.Concepts
SELECT Window Functions AVG
Practise the topic: SQL practice questions · Window function practice · GROUP BY exercises
In these company practice sets
Anthropic · NVIDIA · OpenAI · Tesla
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
Related questions
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