SQL QuestSQL Interview Questions › Subqueries & CTEs

Your First CTE (WITH Clause)

MediumFreeQuerying BasicsSubqueries & CTEsAggregation & Grouping

A CTE (Common Table Expression) lets you name a subquery and reuse it. Write a CTE called dept_stats that calculates each department's headcount and avg_salary (rounded). Then from dept_stats, show all departments sorted by avg_salary descending. CTEs make complex queries readable by breaking them into named steps.

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: Engineering | 10 | 85000

Hint

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

Concepts

SELECT CTE Aggregation GROUP BY

Practise the topic: SQL practice questions · CTE practice · GROUP BY exercises

In these company practice sets

Snowflake · Microsoft

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

Related questions

Department Roster with GROUP_CONCATMedium · FreeConsistent Director AnalysisMedium · FreeBelow Department AverageMedium · FreeHighest Total Salary Budget DepartmentMedium · FreeFare Imputation AnalysisMedium · FreeUNION ALL Dedup: Cross-Dataset SearchMedium · 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