SQL QuestSQL Interview Questions › Joins

Bonus What-If Matrix (Cross Join + VALUES)

MediumFreeQuerying BasicsJoinsSubqueries & CTEs

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_idnamedepartmentpositionsalaryhire_datemanager_idperformance_rating
1Alice JohnsonEngineeringSenior Developer950002019-03-1554.5
2Bob SmithEngineeringDeveloper750002020-06-0113.8
3Carol WilliamsMarketingMarketing Manager850002018-09-20NULL4.2

Expected output: Alice | 90000 | 10 | 99000

Hint

The hint for this one spells out most of the query, so it stays in the editor. Reach for 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

Customers Who Never OrderedMedium · FreeAbove-Average Departments (Derived Table)Medium · FreeLEFT JOIN NULL Semantics: Inactive CustomersMedium · FreeManagement Hierarchy OverviewMedium · FreeCount Direct ReportsMedium · FreeCustomer Recency AnalysisMedium · Free

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