Candidate telemetry diagnostic, error autopsy, and step-by-step query construction walkthrough.
Live aggregated metrics across candidate sandbox attempts
33 solved
First attempt fail
Evaluated submissions
Median time to solve
Unlocked answer
Find pairs of customers who live in the same city. This can help with organizing local meetups or referral programs.
Write a self-join query to find customer pairs in the same city.
| Column | Type |
|---|---|
| CustomerId | INTEGER (Primary Key) |
| FirstName | TEXT |
| LastName | TEXT |
| Company | TEXT |
| Address | TEXT |
| City | TEXT |
| State | TEXT |
| Country | TEXT |
| PostalCode | TEXT |
| Phone | TEXT |
| Fax | TEXT |
| TEXT | |
| SupportRepId | INTEGER (Foreign Key → Employee.EmployeeId) |
Use c1.CustomerId < c2.CustomerId to ensure each pair appears only once.
Your result should have 6 rows with 3 columns: | Customer1Name | Customer2Name | City | |-----------------------|--------------------|---------------| | František Wichterlová | Helena Holý | Prague | | Eduardo Martins | Alexandre Rocha | São Paulo | | Frank Harris | Dan Miller | Mountain View | | Hannah Schneider | Niklas Schröder | Berlin | | Camille Bernard | Dominique Lefebvre | Paris | | ... | ... | ... |
Using `NOT IN (SELECT nullable_col FROM ...)` when the subquery contains NULLs. In SQL's three-valued logic, `x NOT IN (1, 2, NULL)` evaluates to `UNKNOWN` for all rows, causing the entire query to return zero results. Use `NOT EXISTS` or `WHERE nullable_col IS NOT NULL`.
Interviewers evaluate whether you are aware of SQL three-valued logic (TRUE, FALSE, UNKNOWN), safe NULL coercion with COALESCE, and anti-join optimization.
Construct the solution logically from first principles to avoid typical edge case pitfalls.
Identify columns with NULL values and choose safe operators (IS NULL, COALESCE, or NOT EXISTS).
WHERE column_name IS NULL OR COALESCE(amount, 0) > 0
Use LEFT JOIN ... WHERE right.id IS NULL or NOT EXISTS to find non-matching records without falling into the NOT IN trap.
LEFT JOIN related_table rt ON pt.id = rt.ref_id WHERE rt.ref_id IS NULL
Provide user-friendly fallbacks for empty fields using COALESCE(col, 'Unknown').
SELECT id, COALESCE(title, 'Untitled') AS title FROM table_name;
SELECT c1.FirstName || ' ' || c1.LastName AS Customer1Name, c2.FirstName || ' ' || c2.LastName AS Customer2Name, c1.City FROM Customer c1 JOIN Customer c2 ON c1.City = c2.City AND c1.CustomerId < c2.CustomerId LIMIT 15;
Real code patterns candidates submit that fail the grading suite.
SELECT * FROM Customer WHERE Company = NULL;
Three recurring syntax and semantic traps relevant to this problem domain.
If any subquery row returns NULL, NOT IN evaluates to UNKNOWN and discards all records.
SELECT * FROM customers WHERE id NOT IN (SELECT customer_id FROM inactive_list); -- ❌ Fails if NULL exists
SELECT * FROM customers c WHERE NOT EXISTS (SELECT 1 FROM inactive_list i WHERE i.customer_id = c.id); -- ✅ Safe
Writing `col = NULL` or `col != NULL` always returns UNKNOWN. Always use `IS NULL` or `IS NOT NULL`.
SELECT * FROM tracks WHERE composer = NULL; -- ❌ Returns 0 rows always
SELECT * FROM tracks WHERE composer IS NULL; -- ✅ Proper NULL check
NULL values in numerical addition yield NULL. Use COALESCE(col, 0) before performing arithmetic or string concatenation.
SELECT salary + bonus AS total_comp FROM staff; -- ❌ total_comp is NULL if bonus is NULL
SELECT salary + COALESCE(bonus, 0) AS total_comp FROM staff; -- ✅ Robust arithmetic
Launch our in-browser coding environment. Run queries, view execution plans, and get instant comparative diff grading with no setup.