SQL Quest › SQL Interview Questions › Joins
Country × Category Coverage Matrix (Cross Join)
International expansion is identifying which country–category combinations have zero orders — gaps in the matrix that might mean missing supply, missing demand, or a market not yet entered.
Generate every possible (country, category) combination via CROSS JOIN over the distinct values, then LEFT JOIN to the orders table to count actual orders per combination. Show country, category, order_count (0 when none). Order by country, then category.
The CROSS JOIN generates the full Cartesian product. Without it you'd only see combinations that already have at least one order — and the whole point of the report is to find the empty cells.
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
orders
| order_id | customer_id | product | category | quantity | price | total | order_date | country | status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Laptop Pro | Electronics | 1 | 1299.99 | 1299.99 | 2024-01-15 | USA | completed |
| 2 | 2 | Wireless Mouse | Electronics | 2 | 49.99 | 99.98 | 2024-01-16 | Canada | completed |
| 3 | 3 | Office Chair | Furniture | 1 | 349.99 | 349.99 | 2024-01-17 | USA | completed |
Expected output: 14 rows, some with order_count = 0
Hint
SELECT, CROSS JOIN, LEFT JOIN, and open the hint there if you stall.Concepts
SELECT CROSS JOIN LEFT JOIN COUNT Cross Join
Practise the topic: SQL practice questions · JOIN practice · GROUP BY exercises
In these company practice sets
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
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