Di MySQL menulis JOIN
tidak memenuhi syarat menyiratkan INNER JOIN
. Dengan kata lain INNER
di INNER JOIN
adalah opsional. INNER
dan CROSS
adalah sinonim di MySQL. Untuk kejelasan saya menulis JOIN
atau INNER JOIN
jika saya memiliki kondisi bergabung dan CROSS JOIN
jika saya tidak memiliki syarat.
Sintaks yang diizinkan untuk bergabung dijelaskan dalam dokumentasi .
Efeknya sama, tetapi sejarah di baliknya berbeda. Sintaks koma berasal dari standar ANSI-89. Namun ada sejumlah masalah dengan sintaks ini sehingga dalam standar ANSI-92 kata kunci JOIN diperkenalkan.
Saya sangat menyarankan Anda selalu gunakan sintaks GABUNG daripada koma.
T1 JOIN T2 ON ...
lebih mudah dibaca daripadaT1, T2 WHERE ...
.- Ini lebih mudah dipertahankan karena hubungan tabel dan filter didefinisikan dengan jelas daripada dicampur bersama.
- Sintaks JOIN lebih mudah dikonversi ke OUTER JOIN daripada sintaks koma.
- Menggabungkan sintaks koma dan JOIN dalam pernyataan yang sama dapat menimbulkan kesalahan aneh karena aturan prioritas.
- Kemungkinan kecil untuk secara tidak sengaja membuat produk kartesius saat menggunakan sintaks GABUNG karena klausa gabung yang terlupakan, karena klausa gabungan ditulis di sebelah gabungan dan mudah untuk melihat jika ada yang hilang.