所以我看了几张图来理解连接之间的区别,我遇到了这个图像:
也许问题在于用Venn Diagrams来代表这个问题.但是看看第一次加入,左上角,基本上只是A?B在那里有什么不同?
编辑:https://blog.jooq.org/2016/07/05/say-no-to-venn-diagrams-when-explaining-joins/
这个网站解释得很好
不,这是一个加入.如果B中有多行,则A中的一行将多次显示.
例:
表A:
id name
-- -------
1 Alice
2 Malcolm
3 Kelly
Run Code Online (Sandbox Code Playgroud)
表B:
id_a preferred food
---- --------------
1 Pizza
2 Burger
2 Steak
2 Menestroni
Run Code Online (Sandbox Code Playgroud)
然后"A left join B"会给你:
id name id_a preferred food
-- ------- ---- --------------
1 Alice 1 Pizza
2 Malcolm 2 Burger
2 Malcolm 2 Steak
2 Malcolm 2 Menestroni
3 Kelly null null
Run Code Online (Sandbox Code Playgroud)
简而言之:
3 Kelly显示.3 Kelly具有null值.2显示:行显示三次.