Candidate telemetry diagnostic, error autopsy, and step-by-step query construction walkthrough.
Live aggregated metrics across candidate sandbox attempts
36 solved
First attempt fail
Evaluated submissions
Median time to solve
Unlocked answer
Find all tracks that are either Rock OR Metal genre. Use OR to match either condition.
Write a query to find tracks in Rock or Metal genres.
| Column | Type |
|---|---|
| TrackId | INTEGER (Primary Key) |
| Name | TEXT |
| AlbumId | INTEGER (Foreign Key → Album.AlbumId) |
| MediaTypeId | INTEGER (Foreign Key) |
| GenreId | INTEGER (Foreign Key → Genre.GenreId) |
| Composer | TEXT |
| Milliseconds | INTEGER |
| Bytes | INTEGER |
| UnitPrice | NUMERIC(10,2) |
| Column | Type |
|---|---|
| GenreId | INTEGER (Primary Key) |
| Name | TEXT |
trackname | genrename --------------------- For Those About To Rock (We Salute You) | Rock Balls to the Wall | Rock Fast As a Shark | Rock Restless and Wild | Rock Princess of the Dawn | Rock Put The Finger On You | Rock Let's Get It Up | Rock Inject The Venom | Rock ... (20 rows total)
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 Track.Name AS TrackName, Genre.Name AS GenreName FROM Track JOIN Genre ON Track.GenreId = Genre.GenreId WHERE Genre.Name = 'Rock' OR Genre.Name = 'Metal' ORDER BY Track.TrackId 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.