Visual JOIN Diagrams

See SQL JOINs row-by-row — hover any row or hit play to watch the join happen live

Interactive April 2026
INNER JOIN: Returns only rows where both tables have a matching key. C003, C004, and O003 vanish — no match found.
freshcart_db · 4 customers · 4 orders
customers (left table)
idnametier
C001Emma JohnsonGold
C002Liam WilliamsSilver
C003Olivia BrownPlatinum
C004Noah GarciaBronze
orders (right table)
idcust_idamount
O001C001
$42.90
Organic Milk
O002C002
$31.50
Bread & Eggs
O003C005
$78.20
Pantry Bundle
O004C001
$19.80
Fresh Produce
hover any row to see its connections · or click play to animate
// Result
3 rows returned
cust.idnamecityorder_idamount
C001Emma JohnsonNew YorkO001$42.90
C001Emma JohnsonNew YorkO004$19.80
C002Liam WilliamsChicagoO002$31.50
// SQL
INNER JOIN
SELECT c.name, c.city, o.id, o.amount
FROM customers c
INNER JOIN orders o ON c.id = o.customer_id;
// Quick reference
// Try it yourself

Write real JOIN queries against the FreshCart database in your browser — no install needed.

Open SQL Playground →

PUT IT INTO PRACTICE

Find customers who have never ordered

Use a LEFT JOIN and a NULL filter to find customers with no matching order. Sort the results by city.

Run or work through the task, then mark it complete when you have checked your result.

Share

Discussion

0

Have a better approach? Found something outdated? Share it — your knowledge helps everyone learning here.

Continue with GitHub
Loading...