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_namedepartment
AdaEngineering
BobEngineering
ChenHR
DeeSales
EliEngineering

Outer joins and more examples follow in dedicated lessons.

Domain Use Cases (customers/orders/products)

Top customers by spend

nametotal_spend
Alice2048.99
Cara513.99
Ben313.99

Order lines with product names

order_idcustomerproductqtyprice
1AliceLaptop Pro11999
1AliceWireless Mouse149.99
2BenOffice Chair1299
2BenCoffee Beans114.99
3CaraStanding Desk1499
3CaraWireless Mouse114.99