Menguasai MySQL LEFT JOIN: Menyambung Tiga Jadual
Apabila bekerja dengan berbilang jadual dalam pangkalan data MySQL, adalah penting untuk memahami cara untuk menyertainya dengan berkesan. Satu cabaran biasa ialah memautkan rekod daripada tiga atau lebih jadual.
Pertimbangkan contoh yang diberikan: kami mempunyai tiga jadual—Orang, Ketakutan dan Orang_Ketakutan—dan objektifnya ialah untuk memaparkan semua orang bersama-sama dengan sebarang ketakutan yang berkaitan (atau ketiadaan ketakutan).
Salah KIRI JOIN Contoh
Yang kod awal yang diberikan mengandungi ralat dalam keadaan LEFT JOIN. Talian:
ON person_fear.personid = person_fear.fearid
Salah menyertai Person_Fear.PersonID ke Person_Fear.FearID, yang tidak masuk akal.
Betulkan LEFT JOIN Pelaksanaan
Untuk betul menyertai jadual, kita perlu mengubah suai keadaan kepada:
ON Person_Fear.PersonID = Persons.PersonID
Ini memautkan Person_Fear.PersonID ke medan yang sesuai dalam jadual Persons.
Alternatif LEFT JOIN Syntax
Satu lagi pendekatan yang sah ke LEFT JOIN yang sama ialah menggunakan sintaks berikut:
LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID
Ini sintaks secara eksplisit menyatakan LEFT JOIN antara Orang dan Person_Fear, diikuti dengan LEFT JOIN antara Person_Fear dan Fears.
Pertanyaan Terhasil
Dengan salah satu pendekatan yang diperbetulkan ini, pertanyaan akan memulangkan semua rekod daripada jadual Orang, malah rekod yang tidak mempunyai sebarang ketakutan yang berkaitan dalam Person_Fear dan Takut meja. Bagi setiap orang, ia akan memaparkan Ketakutan atau NULL yang berkaitan jika tiada ketakutan yang dikaitkan dengan mereka.
Dengan memahami penggunaan LEFT JOIN yang betul, anda boleh membuat pertanyaan berbilang jadual dengan berkesan dan mendapatkan hasil yang diingini untuk perhubungan data yang kompleks dalam pangkalan data MySQL anda.
Atas ialah kandungan terperinci Bagaimana untuk meninggalkan SERTAI Tiga Jadual dengan betul dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!