MySQL Tidak Menyokong FULL OUTER JOIN: Penyelesaian
SQL standard FULL OUTER JOIN
tidak disokong secara langsung dalam MySQL. Pernyataan SQL yang disediakan akan mengakibatkan ralat sintaks.
Pendekatan Alternatif: Menggabungkan SERTAI KIRI dan KANAN
Untuk mencapai persamaan FULL OUTER JOIN
dalam MySQL, anda boleh menggabungkan operasi LEFT JOIN
dan RIGHT JOIN
menggunakan UNION
. Pendekatan ini menggabungkan hasil daripada kedua-dua cantuman dengan berkesan untuk memasukkan semua baris daripada kedua-dua jadual, memadankan jika boleh.
Contoh menggunakan UNION:
<code class="language-sql">SELECT * FROM a LEFT JOIN b ON a.id = b.id UNION SELECT * FROM a RIGHT JOIN b ON a.id = b.id</code>
Pertanyaan ini mula-mula melakukan LEFT JOIN
(semua baris dari jadual kiri, a
dan baris yang sepadan dari jadual kanan, b
). Kemudian, RIGHT JOIN
(semua baris dari jadual kanan, b
dan baris yang sepadan dari jadual kiri, a
) dilaksanakan. Akhir sekali, UNION
menggabungkan hasil, menghapuskan baris pendua. Ini secara berkesan mencerminkan kefungsian FULL OUTER JOIN
.
Atas ialah kandungan terperinci Bagaimanakah saya boleh melakukan FULL OUTER JOIN dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!