0

我正在使用歌词数据库。我想知道为什么这个查询会产生相同的信息:

SELECT M.LastName, A.ArtistName 
FROM members M
LEFT JOIN XRefArtistsMembers X USING(MemberID) 
JOIN Artists A on X.ArtistID = A.ArtistID;

SELECT M.LastName, A.ArtistName 
FROM members M 
INNER JOIN XRefArtistsMembers X USING(MemberID) 
JOIN Artists A on X.ArtistID = A.ArtistID;

没有错误。我可以按要求从表中发布相关记录。

4

1 回答 1

0

INNER JOIN 仅从两个连接表中选择那些条目,其中 JOIN 子句中字段的值在两个表中都匹配。

LEFT JOIN 选择第一个表中的所有条目,结合第二个表中的匹配条目,或者如果没有匹配项,则使用 NULL 值。

如果第一个表中的每一行在第二个表中的 JOIN 子句中提到的字段上都有匹配项,那么 INNER JOIN 和 LEFT JOIN 将产生相同的结果。

于 2013-10-25T01:20:46.150 回答