Chỉ khác ở điều kiện join (join-predicate)
- INNER JOIN: **Bắt buộc** có điều kiện
ONhoặcWHEREđể lọc hàng khớp. - CROSS JOIN: **Không có** điều kiện khớp – trả về tích Descartes toàn bộ.
Ví dụ cùng 2 bảng
tbl_1 (4 hàng), tbl_2 (4 hàng).
INNER JOIN có điều kiện:
SELECT tbl_1.id, tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name; +----+----+ | id | id | +----+----+ | 4 | A | +----+----+ -- 1 hàng
CROSS JOIN (bỏ điều kiện):
SELECT tbl_1.id, tbl_2.id FROM tbl_1 JOIN tbl_2; +----+----+ | id | id | +----+----+ | 1 | A | | 2 | A | ... (16 hàng) ... | 4 | D | +----+----+ -- 4x4=16 hàng