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中文网其他相关文章!