MySQL LEFT JOIN 3 個用於恐懼和人際關係的表
在一組三個關係表中,可以檢索完整的人員列表以及任何相關的恐懼。這可以透過涉及「Persons」、「Fears」和「Person_Fear」表的 LEFT JOIN 查詢來實現。
「Persons」表保存個人訊息,包括「Name」和「SS」(社交資訊)安全號),而「恐懼」表列出了潛在的恐懼,而「Person_Fear」表則建立了人們與其恐懼之間的關係。
在先前的嘗試中,建構了 LEFT JOIN 查詢,但遇到了錯誤。提供的錯誤代碼是:
SELECT persons.name, persons.ss, fears.fear FROM persons LEFT JOIN fears ON person_fear.personid = person_fear.fearid
錯誤源自於在連接子句中錯誤地引用「person_fear」兩次。相反,連線應根據“PersonID”欄位將“Persons”連接到“Person_Fear”,並使用“FearID”將“Person_Fear”連接到“Fears”。
這是一個更正的 LEFT JOIN 查詢:
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
這個 LEFT JOIN 查詢構造一個包含所有人的列表,包括那些沒有任何相關恐懼的人。結果集將包含每筆記錄的「Name」、「SS」和「Fear」欄位。
或者,以下LEFT JOIN 查詢也可實現相同的結果:
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
透過有效地利用LEFT JOIN,資料庫查詢可以從多個表中檢索全面且互連的數據。
以上是如何在 MySQL 中有效率地 LEFT JOIN 三個表來檢索人與恐懼的關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!