Rumah >pangkalan data >tutorial mysql >Bolehkah Pertanyaan MySQL JOIN Berfungsi Tanpa Klausa ON?
MySQL JOIN Queries tanpa ON Conditions
Soalan: Bolehkah pertanyaan MySQL JOIN ditulis tanpa pernyataan ON, dan bagaimana mereka berbeza dari KIRI dan KANAN JOINs?
Jawapan:
Ya, MySQL membenarkan pertanyaan JOIN ditulis tanpa syarat ON. Tingkah laku ini bertolak daripada piawaian ANSI SQL dan kebanyakan pangkalan data lain. Walau bagaimanapun, pertanyaan sedemikian adalah bersamaan dengan cantuman silang, yang menghasilkan produk Cartesian dan bukannya menyertai baris berdasarkan syarat biasa.
Apabila klausa ON tiada daripada JOIN atau INNER JOIN dalam MySQL, kesannya ialah sambung silang. Begitu juga, klausa ON boleh digunakan dengan CROSS JOIN untuk memperhalusi lagi syarat cantuman.
Perbezaan dari KIRI dan KANAN JOIN:
KIRI dan KANAN JOIN memerlukan Klausa ON untuk menentukan syarat gabungan. Ini kerana tujuan mereka adalah untuk memasukkan baris dari jadual kiri atau jadual kanan walaupun tiada baris yang sepadan dalam jadual lain. Tanpa klausa ON, mereka hanya akan mengembalikan baris dari jadual kiri dan kanan secara berasingan, masing-masing.
Pertimbangan Praktikal:
Walaupun secara teknikalnya mungkin untuk menggunakan JOIN pertanyaan tanpa syarat ON dalam MySQL, biasanya dinasihatkan untuk menggunakan CROSS JOIN secara eksplisit untuk kejelasan. Sintaks berikut diutamakan:
from A cross join B
daripada:
from A, B
atau:
from A join B -- with no on clause
Atas ialah kandungan terperinci Bolehkah Pertanyaan MySQL JOIN Berfungsi Tanpa Klausa ON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!