JOIN ghép hàng của hai bảng theo điều kiện (thường qua khóa):
- INNER JOIN: chỉ giữ hàng khớp cả hai bên. Hàng không có cặp bị loại.
- LEFT (OUTER) JOIN: giữ mọi hàng bảng trái, bên phải không khớp thì điền
NULL. - RIGHT (OUTER) JOIN: ngược lại — giữ mọi hàng bảng phải.
- FULL (OUTER) JOIN: giữ mọi hàng cả hai bên, thiếu bên nào điền
NULL. - CROSS JOIN: tích Descartes — mỗi hàng trái ghép với mọi hàng phải (M×N hàng), ít dùng.
Hay bị hỏi: LEFT JOIN ... WHERE right.id IS NULL để tìm hàng bên trái không có cặp bên phải (anti-join). Bẫy kinh điển: lọc cột bảng phải trong WHERE sẽ biến LEFT JOIN thành INNER JOIN (hàng NULL bị loại) — muốn giữ hàng không khớp, đặt điều kiện vào ON.