SQL Quest › SQL Interview Questions › Querying Basics
Give the Top Performers a Raise
Comp approved a 10% raise for everyone with a performance_rating of 4.5 or higher.
Apply it — rounding the new salary to a whole number — then show name, department, performance_rating, salary for everyone who got the raise, ordered by salary descending, then name.
The new idea: the SET clause can compute from the column's own current value. SET salary = ROUND(salary * 1.10) reads the old salary and writes the new one in a single pass over the matching rows.
One consequence that catches people out: this statement is not idempotent. Run it twice and you have handed out a 21% raise. Write statements know how many times you ran them, even when the result looks the same — which is exactly why this challenge resets the data before each run.
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: 8 rows, top salary now 126,500
Hint
UPDATE, DML, WHERE, and open the hint there if you stall.Concepts
UPDATE DML WHERE ROUND
Practise the topic: SQL practice questions
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