首頁 >資料庫 >mysql教程 >如何使用 LEFT JOIN 正確連接 MySQL 中的三個表格來檢索所有人員及其相關的恐懼?

如何使用 LEFT JOIN 正確連接 MySQL 中的三個表格來檢索所有人員及其相關的恐懼?

Susan Sarandon
Susan Sarandon原創
2024-12-21 12:09:11710瀏覽

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

使用MySQL LEFT JOIN 進行多表連接

在這個場景中,我們遇到了連接三個表的挑戰: 'Persons' 「恐懼」,以及「Person_Fear」。目標是顯示「Persons」表中的所有記錄以及任何相關的恐懼,即使有些人沒有恐懼。

最初,提供的 LEFT JOIN 查詢嘗試將「Person_Fear.PersonID」與「連接」 Person_Fear.FearID',會產生不正確的結果。正確的做法是根據正確的外鍵關係將 'Person_Fear' 與 'Persons''Fears' 連接起來。

解決方案:

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

這個修改後的查詢有效地將「Persons」連接到'Person_Fear' 和'Fears'透過各自的外鍵。 「Persons」和「Person_Fear」之間的 LEFT JOIN 確保包含「Persons」表中的所有記錄,無論它們是否有任何相關的恐懼。

替代解決方案:

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

這個替代方法利用'Person_Fear' 和'Person_Fear' 之間的INNER JOIN 「恐懼」過濾到相關的恐懼。隨後的 LEFT JOIN 與“Persons”仍然確保所有個人都包含在結果中。

以上是如何使用 LEFT JOIN 正確連接 MySQL 中的三個表格來檢索所有人員及其相關的恐懼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn