We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
An easy sql problem, graded against 4 test cases (2 of them hidden).
Query-writing problems - joins, aggregation, window functions, and query tuning.
Reach for it when you see: A schema and a question about the data rather than a function signature.
More SQLproblems →```sql
SELECT c.name
FROM Customers c
LEFT JOIN Orders o ON o.customer_id = c.id
WHERE o.id IS NULL
ORDER BY c.name;
```
`LEFT JOIN` keeps every row from `Customers`. Customers with no matching order get `NULL` columns from `Orders`. Filtering `o.id IS NULL` isolates those rows. Equivalents: `NOT EXISTS`, `NOT IN` (beware of NULL trap with NOT IN).
Performance note: `NOT EXISTS` is usually the most reliably-optimized form on modern engines (Postgres, SQL Server). `NOT IN` returns no rows if the subquery contains a NULL.
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.