SQL JOIN Visualiser
A Venn-style diagram showing exactly which rows each JOIN type returns.
About this tool
INNER JOIN keeps only rows that match in both tables. LEFT JOIN keeps every row from Table A, matched with Table B where possible. RIGHT JOIN is the mirror image, keeping every row from Table B. FULL OUTER JOIN keeps every row from both, matched where possible. Where there's no match, the other table's columns come back as NULL.
The last three buttons show the "anti-join" patterns, used to find what's missing: a LEFT JOIN followed by WHERE b.a_id IS NULL keeps only rows of A with no match in B, such as customers who have never placed an order. NOT EXISTS does the same job and is often clearer. MySQL has no FULL OUTER JOIN; combine a LEFT JOIN and a RIGHT JOIN with UNION instead.