我有两张桌子,桌子X和桌子Y
表X:
A B C
6 8 7
6 6 7
7 8 6
表Y:
A B D
5 8 7
6 6 7
6 8 6
运行代码时
SELECT * FROM X LEFT OUTER JOIN Y on X.B=Y.B;
它返回一个包含5行的表。
这是怎么发生的?
编辑:我知道这是答案,但我只是想解释一下。应该措辞更好:)答案 0 :(得分:0)
首先LEFT OUTER JOIN
相当于LEFT JOIN
如你所知,
LEFT JOIN
关键字返回左表(table1)中的所有记录,以及右表(table2)中的匹配记录。如果没有匹配,则结果从右侧为NULL。
所以在你的情况下,
X中的第一行与Y
X中的第二行与Y
X中的第三行与Y
因此总共5行。由于X中没有不匹配的行,因此结果中的行不会为空值。
更多here