SQL - Joins (Overview)
Overview
Joins combine rows from multiple tables. Start with INNER JOIN, then LEFT/RIGHT/FULL for outer joins, and CROSS JOIN for a Cartesian product.
SELECT e.first_name, d.name AS department
FROM employees e
JOIN departments d ON d.id = e.department_id;
SELECT e.first_name, d.name AS department
FROM employees e
INNER JOIN departments d ON d.id = e.department_id;
SELECT e.first_name, d.name AS department
FROM employees e
JOIN departments d ON d.id = e.department_id;
Prerequisite
Load the Standard Test Data.
Expected Output (unordered)
| first_name | department | 
|---|---|
| Ada | Engineering | 
| Bob | Engineering | 
| Chen | HR | 
| Dee | Sales | 
| Eli | Engineering | 
Outer joins and more examples follow in dedicated lessons.
Domain Use Cases (customers/orders/products)
Top customers by spend
| name | total_spend | 
|---|---|
| Alice | 2048.99 | 
| Cara | 513.99 | 
| Ben | 313.99 | 
Order lines with product names
| order_id | customer | product | qty | price | 
|---|---|---|---|---|
| 1 | Alice | Laptop Pro | 1 | 1999 | 
| 1 | Alice | Wireless Mouse | 1 | 49.99 | 
| 2 | Ben | Office Chair | 1 | 299 | 
| 2 | Ben | Coffee Beans | 1 | 14.99 | 
| 3 | Cara | Standing Desk | 1 | 499 | 
| 3 | Cara | Wireless Mouse | 1 | 14.99 |