CROSS JOIN adalah operator SQL untuk melakukan produk kartesius penuh antara dua tabel. Karena ini adalah produk kartesius, itu tidak memungkinkan kondisi apa pun selama operasi , Anda hanya dapat membatasi hasilnya dengan beberapa operasi penyaringan (kondisi WHERE).
JOIN (INNER dan OUTER JOIN, yaitu) operator, hanyalah produk kartesius bersama dengan operator penyaringan yang diekspresikan di bagian ON dari operator (dan sebenarnya dalam sintaks asli SQL tidak ada operator JOIN, cukup "koma" notasi untuk menunjukkan produk dengan kondisi gabungan yang selalu diekspresikan di bagian WHERE).
Contoh:
notasi "lama":
SELECT ...
FROM table1 t1, table2 t2
WHERE t1.attribute = t2.attribute
setara dengan notasi "modern":
SELECT ...
FROM table1 t1 INNER JOIN table2 t2 ON t1.attribute = t2.attribute
sedangkan untuk produk kartesius:
notasi "lama":
SELECT ...
FROM table1 t1, table2 t2
setara dengan notasi "modern":
SELECT ...
FROM table1 t1 CROSS JOIN table2 t2
Dengan kata lain, CROSS JOIN yang membutuhkan kondisi sebenarnya adalah semacam INNER JOIN.