Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Tiga Jadual dengan Benar dalam MySQL Menggunakan LEFT JOIN untuk Mendapatkan Semua Orang dan Ketakutan Mereka?

Bagaimana untuk Menyertai Tiga Jadual dengan Benar dalam MySQL Menggunakan LEFT JOIN untuk Mendapatkan Semua Orang dan Ketakutan Mereka?

Susan Sarandon
Susan Sarandonasal
2024-12-21 12:09:11653semak imbas

How to Correctly Join Three Tables in MySQL Using LEFT JOIN to Retrieve All Persons and Their Associated Fears?

Berbilang Jadual Menyertai dengan MySQL LEFT JOIN

Dalam senario ini, kami menghadapi cabaran untuk menyertai tiga jadual: 'Orang' , 'Ketakutan' dan 'Orang_Takut'. Objektifnya adalah untuk memaparkan semua rekod daripada jadual 'Orang' bersama-sama dengan sebarang ketakutan yang berkaitan, walaupun sesetengah orang tidak mempunyai ketakutan.

Pada mulanya, pertanyaan LEFT JOIN yang disediakan cuba untuk menyertai 'Person_Fear.PersonID' dengan ' Person_Fear.FearID', yang menghasilkan keputusan yang salah. Pendekatan yang betul ialah menyertai 'Person_Fear' dengan 'Orang' dan 'Ketakutan' berdasarkan perhubungan utama asing yang betul.

Penyelesaian:

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 yang disemak ini dengan berkesan menggabungkan 'Orang' ke 'Person_Fear' dan 'Fears' melalui kunci asing masing-masing. SERTAI KIRI antara 'Orang' dan 'Person_Fear' memastikan semua rekod daripada jadual 'Orang' disertakan, tidak kira sama ada mereka mempunyai sebarang ketakutan yang berkaitan.

Penyelesaian Alternatif:

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

Pendekatan alternatif ini menggunakan JOIN DALAM antara 'Person_Fear' dan 'Fears' untuk menapis kepada ketakutan yang berkaitan. SERTAI KIRI seterusnya dengan 'Orang' masih memastikan semua individu disertakan dalam keputusan.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Tiga Jadual dengan Benar dalam MySQL Menggunakan LEFT JOIN untuk Mendapatkan Semua Orang dan Ketakutan Mereka?. 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