SQL Quest › SQL Interview Questions › Joins
Bonus What-If Matrix (Cross Join + VALUES)
Comp planning wants a bonus scenario matrix for every Engineering employee: at 5%, 10%, 15%, and 20% bonus pct, what's the projected new salary?
Use a CTE with VALUES (5),(10),(15),(20) to build the bonus list, then CROSS JOIN it against the Engineering employees. Show name, current_salary, bonus_pct, new_salary (current_salary * (1 + bonus_pct / 100.0), rounded to nearest dollar). Order by name, then bonus_pct.
VALUES inside a CTE is the portable way to materialize a small fixed list without needing a dedicated table. The / 100.0 instead of / 100 forces float division — otherwise integer truncation would wreck the math.
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: Alice | 90000 | 10 | 99000
Hint
SELECT, CROSS JOIN, CTE, and open the hint there if you stall.Concepts
SELECT CROSS JOIN CTE VALUES Cross Join
Practise the topic: SQL practice questions · JOIN practice · CTE practice
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