About SQL Join Maze
SQL Join Maze shows you two or more small data tables plus a target result set and asks you to
pick the SQL join statement that produces exactly that output. Topics span INNER JOIN, LEFT JOIN,
RIGHT JOIN, FULL OUTER JOIN, anti-join patterns (LEFT JOIN … WHERE r.id IS NULL),
semi-joins, self-joins, and tricky ON vs WHERE placement that flips outer to inner behavior.
Why it helps
- Build intuition for NULL semantics — when a row disappears vs when it stays with NULLs.
- Understand cardinality blow-up from non-unique join keys before it hits production queries.
- Learn the difference between filtering in the ON clause vs the WHERE clause for outer joins.
- Use the related SQL Join Builder to iterate on the correct query with your own data.
Runs locally in your browser. Progress is stored only in this browser.