考慮三個表:
目的是顯示所有個人以及與他們相關的任何恐懼(包括一個人沒有恐懼的情況)
提供的查詢顯示了錯誤的連接表架構:
SELECT persons.name, persons.ss, fears.fear FROM persons LEFT JOIN fears ON person_fear.personid = person_fear.fearid
ON 子句錯誤地嘗試連接Person_Fear 表PersonID 而不是FearID,它是連接到 Fears 的欄位。
要有效地執行左連接,請考慮以下方法:
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
說明:
替代方案查詢:
另一種獲得相同結果的方法是:
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
此查詢使用兩個左連接來連接表,產生類似的結果。
以上是如何有效率地對三個表執行 MySQL LEFT JOIN?的詳細內容。更多資訊請關注PHP中文網其他相關文章!