Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan MySQL Saya Gagal dengan Ralat Sintaks pada FULL OUTER JOIN?

Mengapa Pertanyaan MySQL Saya Gagal dengan Ralat Sintaks pada FULL OUTER JOIN?

Barbara Streisand
Lepaskan: 2025-01-09 20:56:46
asal
345 orang telah melayarinya

Why Does My MySQL Query Fail with a Syntax Error on FULL OUTER JOIN?

Kekurangan FULL OUTER JOIN MySQL dan Penyelesaiannya

Masalah:

Pertanyaan MySQL menggunakan FULL OUTER JOIN menghasilkan ralat sintaks. Pertanyaan cuba untuk menyertai berbilang jadual menggunakan FULL OUTER JOIN, sintaks yang kelihatan betul tetapi tidak disokong oleh MySQL.

Penyelesaian:

MySQL tidak menyokong langsung FULL OUTER JOIN. Penyelesaiannya melibatkan meniru fungsi ini menggunakan gabungan LEFT JOIN dan RIGHT JOIN dengan UNION pernyataan.

Mencontohi PENYERTAAN LUAR PENUH:

Untuk dua jadual (t1 dan t2), satu FULL OUTER JOIN direplikasi seperti ini:

<code class="language-sql">SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id;</code>
Salin selepas log masuk

Pendekatan ini meluas ke berbilang jadual. Untuk tiga jadual (t1, t2, t3), yang setara ialah:

<code class="language-sql">SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
RIGHT JOIN t3 ON t2.id = t3.id;</code>
Salin selepas log masuk

Aplikasi rekursif LEFT JOIN, RIGHT JOIN dan UNION ini secara berkesan meniru gelagat FULL OUTER JOIN dalam MySQL, menyediakan penyelesaian praktikal untuk pengehadan ini.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya Gagal dengan Ralat Sintaks pada FULL OUTER JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan