Rumah >pangkalan data >tutorial mysql >Bolehkah Pertanyaan MySQL JOIN Berfungsi Tanpa Klausa ON?

Bolehkah Pertanyaan MySQL JOIN Berfungsi Tanpa Klausa ON?

Linda Hamilton
Linda Hamiltonasal
2025-01-02 15:05:38972semak imbas

Can MySQL JOIN Queries Work Without an ON Clause?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn