Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Meninggalkan Tiga Jadual dengan Cekap untuk Mendapatkan Perhubungan Orang-Ketakutan dalam MySQL?
MySQL LEFT JOIN 3 Tables for Fear and Person Relationships
Dalam satu set tiga jadual hubungan, seseorang boleh mendapatkan semula senarai lengkap orang bersama-sama dengan sebarang ketakutan yang berkaitan. Ini boleh dicapai melalui pertanyaan LEFT JOIN yang melibatkan jadual 'Orang,' 'Ketakutan' dan 'Person_Fear'.
Jadual 'Orang' menyimpan maklumat peribadi, termasuk 'Nama' dan 'SS' (sosial nombor keselamatan), manakala jadual 'Fears' menyenaraikan potensi ketakutan, dan jadual 'Person_Fear' mewujudkan hubungan antara orang dan mereka ketakutan.
Dalam percubaan sebelumnya, pertanyaan LEFT JOIN telah dibina tetapi mengalami ralat. Kod yang salah yang diberikan ialah:
SELECT persons.name, persons.ss, fears.fear FROM persons LEFT JOIN fears ON person_fear.personid = person_fear.fearid
Ralat berpunca daripada salah merujuk 'person_fear' dua kali dalam klausa gabungan. Sebaliknya, gabungan harus menghubungkan 'Orang' kepada 'Person_Fear' berdasarkan lajur 'PersonID' mereka dan 'Person_Fear' kepada 'Fears' menggunakan 'FearID.'
Berikut ialah pertanyaan LEFT JOIN yang diperbetulkan:
SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID
Pertanyaan LEFT JOIN ini membina senarai yang mengandungi semua orang, termasuk mereka tanpa sebarang ketakutan yang berkaitan. Set hasil akan termasuk lajur 'Nama,' 'SS' dan 'Takut' untuk setiap rekod.
Sebagai alternatif, pertanyaan LEFT JOIN berikut mencapai hasil yang sama:
SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons LEFT JOIN Person_Fear INNER JOIN Fears ON Person_Fear.FearID = Fears.FearID ON Person_Fear.PersonID = Persons.PersonID
Dengan menggunakan LEFT JOINs dengan berkesan, pertanyaan pangkalan data boleh mendapatkan semula data yang komprehensif dan saling berkaitan daripada berbilang jadual.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meninggalkan Tiga Jadual dengan Cekap untuk Mendapatkan Perhubungan Orang-Ketakutan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!