MySQL JOIN Tanpa ON Condition: Memahami Cross and Inner Joins
Walaupun kebanyakan sistem pangkalan data memerlukan klausa ON untuk operasi JOIN, MySQL menawarkan ciri unik yang membenarkan peninggalannya dalam senario tertentu. Sertai dan sambung dalam dalam MySQL boleh dilaksanakan tanpa syarat HIDUP, menghasilkan sambung silang.
Sambung Silang: Produk Cartesian
Sambung silang, jika tiada daripada klausa ON, menjana produk Cartesan data daripada berbilang jadual. Ini bermakna setiap baris daripada jadual pertama digandingkan dengan setiap baris daripada jadual kedua, mewujudkan set hasil yang lebih besar dengan ketara.
Inner Join without ON Clause
Begitu juga, apabila menggunakan cantuman dalaman tanpa klausa ON, MySQL berkelakuan berbeza daripada standard ANSI. Hasilnya adalah sama seperti cantuman silang, dengan berkesan mengalih keluar sebarang penapisan atau kriteria pemadanan.
Kes Penggunaan
Cambung silang boleh berguna dalam situasi tertentu:
Amalan Disyorkan
Walaupun MySQL membenarkan pertanyaan penyertaan tanpa syarat HIDUP, secara amnya disyorkan untuk menggunakan gabungan silang secara eksplisit sebagai berikut:
SELECT * FROM table1 CROSS JOIN table2
Pendekatan ini lebih jelas dan mengelakkan kekeliruan dengan sambung dalaman.
Sambung Kanan dan Kiri
Kanan dan kiri luar join memerlukan klausa ON untuk menentukan keadaan padanan. Oleh itu, perbincangan mengenai cantuman tanpa syarat ON tidak terpakai untuk jenis cantuman ini.
Atas ialah kandungan terperinci Bolehkah MySQL JOINs Berfungsi Tanpa Klausa ON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!