SQL QuestSQL Interview Questions › Subqueries & CTEs

Give a Query a Name (WITH)

EasyFreeQuerying BasicsSubqueries & CTEs

Recruiting wants the senior engineers — everyone in Engineering earning more than 90,000.

Use a WITH clause to define engineers as the Engineering rows, then select from it. Show name, salary, hire_date. Order by salary descending, then name.

The new idea, and it is smaller than its reputation: WITH name AS (...) gives a query a name so you can select FROM it like a table. That's all a CTE is. It doesn't aggregate, doesn't loop, doesn't do anything clever by itself.

You could write this as one WHERE department = 'Engineering' AND salary > 90000 and you'd be right. The point isn't that the CTE is needed here — it's that you see the shape while it's still trivial, because by the time you're stacking three of them to build a revenue pipeline, the syntax needs to already feel boring.

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: 7 rows — the Engineering staff above 90,000

Hint

The hint for this one spells out most of the query, so it stays in the editor. Reach for SELECT, CTE, WHERE, and open the hint there if you stall.

Concepts

SELECT CTE WHERE

Practise the topic: SQL practice questions · CTE practice

In these company practice sets

Microsoft

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

A Subquery That Returns One ValueEasy · FreeA Subquery That Returns a Set (IN)Easy · FreeMovies Rated Above the AverageEasy · FreeEvery Film by a Director Who Once Hit 8.5Easy · FreeFilter on an Average You Just ComputedEasy · FreeBetter Than Its Own GenreEasy · 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