SQL Quest › SQL Interview Questions › Joins
Anti-Join Pipeline: Unmatched Records
Find products that were ordered but never completed (no completed orders exist for that product). Using a LEFT JOIN anti-pattern, show product, category, total_orders (count of all orders for that product), and total_revenue (sum of total for all orders). Also show what percentage of all products these represent as pct_of_products (1 decimal). Sort by total_orders descending. Anti-join patterns (LEFT JOIN WHERE NULL, NOT EXISTS, EXCEPT) are tested at Amazon and Google because they test understanding of join mechanics.
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: ProductX appears with total_orders=5
Hint
Concepts
SELECT LEFT JOIN IS NULL CTE GROUP BY DISTINCT Anti-Join + CTE
Practise the topic: SQL practice questions · JOIN practice · NULL handling practice · CTE practice · GROUP BY exercises · Advanced SQL interview questions
In these company practice sets
Amazon · Databricks · Google · JPMorgan · Plaid · Snowflake · Stripe · LinkedIn
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