首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中有效率地 LEFT JOIN 三個表來檢索人與恐懼的關係?

如何在 MySQL 中有效率地 LEFT JOIN 三個表來檢索人與恐懼的關係?

Susan Sarandon
發布: 2024-12-27 16:46:18
原創
869 人瀏覽過

How Can I Efficiently LEFT JOIN Three Tables to Retrieve Person-Fear Relationships in MySQL?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板