Interactive SQL-join visualizer · real evaluator · offline

SQL joins explained: watch rows pair up—duplicates, NULLs and all

Diagrams lie about joins. joincraft runs a genuine hand-rolled evaluator over two small tables and draws a ribbon from every output row back to the source rows it came from—so you can see the duplicate-key blowup, the NULL that never matches, and the GROUP BY that groups those same NULLs together.

Gotcha scenarios

0 / 12 understood — each loads a table pair + operation + hand-verified result. Tick them off as they click.

Two tables

Edit any cell, toggle a cell to NULL, add or delete rows (max 8 per side), and duplicate keys freely. Your edits are saved in this browser.

The operation

Join type
Join keys (ON)
GROUP BY (optional)

The join, ribbon by ribbon

solid ribbon = matched pair dashed into NULL pad = orphan

Row math

Result table

Illustrative ANSI SQL — this app is not a SQL engine

      

The NULL corner: three-valued logic

Every SQL condition returns TRUE, FALSE, or UNKNOWN. This is why NULL = NULL never matches in an ON clause.

Honest limits