人、人员电子邮件、成员或内部连接中的选取所有内容。

22 浏览
0 Comments

人、人员电子邮件、成员或内部连接中的选取所有内容。

这个问题已经有答案了

可能重复:

INNER JOIN ON vs WHERE clause

我有以下两个代码:

SELECT * FROM people,people_emails,members
WHERE people_emails_person=people_id
AND members_person=people_id
SELECT * FROM people
INNER JOIN people_emails ON people_id = people_emails_person
INNER JOIN members ON people_id = members_person

它们都会产生相同的结果,但哪个查询更正确/更好呢?

admin 更改状态以发布 2023年5月23日
0
0 Comments

第二种方法比第一种更好,但两种方法都有改进的空间。选择*会自动选择比你需要的更多的字段。在你的情况下,由于people_emails_person、people.people_id和members_person.people_id将始终具有相同的值,因此只需要其中一个。

回到你的问题,第二种方法更好的原因是它可能运行得更快。

0
0 Comments

目前来看,这两个查询是完全相同的。第一个使用了“旧式”的连接方式。

使用第一个风格已经非常“过时”。我认为,当使用该风格来表示外连接和右连接时,它并不太清晰。

有些人一直使用第一个风格,我相信他们会说这种风格更清晰。

0