Candidate telemetry diagnostic, error autopsy, and step-by-step query construction walkthrough.
Live aggregated metrics across candidate sandbox attempts
19 solved
First attempt fail
Evaluated submissions
Median time to solve
Unlocked answer
The catalog team needs to identify dead inventory — tracks that have never appeared on any invoice.
| Column | Type |
|---|---|
| TrackId | INTEGER (PK) |
| Name | TEXT NOT NULL |
| AlbumId | INTEGER (FK → Album) |
| MediaTypeId | INTEGER (FK → MediaType) |
| GenreId | INTEGER (FK → Genre) |
| Composer | TEXT |
| Milliseconds | INTEGER NOT NULL |
| Bytes | INTEGER |
| UnitPrice | NUMERIC(10,2) NOT NULL |
| Column | Type |
|---|---|
| AlbumId | INTEGER (PK) |
| Title | TEXT NOT NULL |
| ArtistId | INTEGER (FK → Artist) |
| Column | Type |
|---|---|
| ArtistId | INTEGER (PK) |
| Name | TEXT |
| Column | Type |
|---|---|
| InvoiceLineId | INTEGER (PK) |
| InvoiceId | INTEGER (FK) |
| TrackId | INTEGER (FK) |
| UnitPrice | NUMERIC(10,2) NOT NULL |
| Quantity | INTEGER NOT NULL |
InvoiceLineTrackName, AlbumTitle, ArtistName, UnitPriceYour query should return 20 rows with 4 columns: | trackname | albumtitle | artistname | unitprice | |------------------------------------------------------------|---------------------------------------|--------------------------------------------------------------|-----------| | Fanfare for the Common Man | A Copland Celebration, Vol. I | Aaron Copland & London Symphony Orchestra | 0.99 | | OAM's Blues | Worlds | Aaron Goldberg | 0.99 | | "Eine Kleine Nachtmusik" Serenade In G, K. 525: I. Allegro | Sir Neville Marriner: A Celebration | Academy of St. Martin in the Fields Chamber Ensemble & Si... | 0.99 | | Solomon HWV 67: The Arrival of the Queen of Sheba | The World of Classical Favourites | Academy of St. Martin in the Fields & Sir Neville Marriner | 0.99 | | C.O.D. | For Those About To Rock We Salute You | AC/DC | 0.99 | | ... | ... | ... | ... |
Using INNER JOIN instead of LEFT JOIN when joining primary records to optional child tables. If an entity has zero associated transactions or invoices, an INNER JOIN silently purges that row from the report, resulting in understated counts and skewed analytical aggregates.
Interviewers test whether you can recognize cardinality relationships (1:1, 1:N, N:M), understand table key constraints, and avoid unintentional data loss or cartesian explosion.
Construct the solution logically from first principles to avoid typical edge case pitfalls.
Establish which table defines the primary grain of the query (e.g. Customers, Invoices, or Artists).
FROM PrimaryTable pt
Attach related tables using clear join conditions on primary and foreign key pairs.
LEFT JOIN ForeignTable ft ON pt.id = ft.foreign_key
Filter required subsets and qualify column names with unambiguous table aliases.
WHERE pt.is_active = true ORDER BY pt.name ASC;
SELECT t.Name AS TrackName,
al.Title AS AlbumTitle,
ar.Name AS ArtistName,
t.UnitPrice
FROM Track t
JOIN Album al ON t.AlbumId = al.AlbumId
JOIN Artist ar ON al.ArtistId = ar.ArtistId
LEFT JOIN InvoiceLine il ON il.TrackId = t.TrackId
WHERE il.InvoiceLineId IS NULL
ORDER BY ar.Name, al.Title, t.Name
LIMIT 20;Real code patterns candidates submit that fail the grading suite.
SELECT Name, InvoiceId, Total FROM Customer JOIN Invoice ON CustomerId = CustomerId;
Three recurring syntax and semantic traps relevant to this problem domain.
INNER JOIN drops rows from the left table if there is no matching foreign key in the right table. For inclusive reports, use LEFT JOIN.
SELECT c.name, COUNT(o.id) FROM customers c JOIN orders o ON c.id = o.customer_id GROUP BY c.name; -- ❌ Drops customers with 0 orders
SELECT c.name, COUNT(o.id) FROM customers c LEFT JOIN orders o ON c.id = o.customer_id GROUP BY c.name; -- ✅ Includes all customers
Adding a WHERE filter on a column from the right table of a LEFT JOIN converts it into an INNER JOIN because NULL rows fail the WHERE predicate.
FROM customers c LEFT JOIN orders o ON c.id = o.customer_id WHERE o.status = 'active'; -- ❌ Discards NULLs, acting like INNER JOIN
FROM customers c LEFT JOIN orders o ON c.id = o.customer_id AND o.status = 'active'; -- ✅ Preserves all customers
Joining two tables on non-unique keys without sufficient composite constraints multiplies rows exponentially, inflating SUM and COUNT results.
FROM users u JOIN user_tags t ON u.id = t.user_id JOIN user_roles r ON u.id = r.user_id -- ❌ M*N row explosion
Aggregate child tables in separate CTEs before joining to the parent entity.
Launch our in-browser coding environment. Run queries, view execution plans, and get instant comparative diff grading with no setup.