SQL JOIN Visualizer
Understand INNER, LEFT, RIGHT, FULL OUTER, and CROSS JOINs with visual examples.
INNER JOIN
Returns only rows where there is a match in BOTH tables. Non-matching rows from either side are excluded.
SQL syntax
SELECT a.id, a.name, b.order_id FROM customers a INNER JOIN orders b ON a.id = b.customer_id;
Example result rows
| customers.name | orders.order_id |
|---|---|
| 1 · Alice | ORD-101 |
| 2 · Bob | ORD-102 |
All JOIN types at a glance
Understanding SQL JOINs
JOINs combine rows from two or more tables based on a related column. The most common is INNER JOIN (or just JOIN), which returns only matched rows. LEFT JOIN keeps all rows from the left table even with no match — useful to find customers who have never placed an order (where order_id IS NULL). FULL OUTER JOIN is not supported in MySQL but works in PostgreSQL, SQL Server, and SQLite.
CROSS JOIN has no ON clause and produces M×N rows — useful for generating all combinations (e.g. all size/color pairs for a product).
Private & free — this tool runs entirely in your browser.