另外,如何 LEFT OUTER JOIN
、 RIGHT OUTER JOIN
和 FULL OUTER JOIN
适合?
原文由 Chris de Vries 发布,翻译遵循 CC BY-SA 4.0 许可协议
另外,如何 LEFT OUTER JOIN
、 RIGHT OUTER JOIN
和 FULL OUTER JOIN
适合?
原文由 Chris de Vries 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答2.6k 阅读✓ 已解决
642 阅读
假设您要加入没有重复的列,这是一种非常常见的情况:
A 和 B 的内连接给出了 A 相交 B 的结果,即 维恩图 相交的内部部分。
A 和 B 的外连接给出了 A 联合 B 的结果,即 维恩图 联合的外部部分。
例子
假设您有两个表,每个表都有一个列,数据如下:
请注意,(1,2) 是 A 独有的,(3,4) 是常见的,(5,6) 是 B 独有的。
内部联接
使用任一等效查询的内连接给出了两个表的交集,即它们共有的两行。
左外连接
左外连接将给出 A 中的所有行,以及 B 中的任何公共行。
右外连接
右外连接将给出 B 中的所有行,以及 A 中的任何公共行。
全外连接
全外连接将为您提供 A 和 B 的并集,即 A 中的所有行和 B 中的所有行。如果 A 中的某些内容在 B 中没有对应的数据,则 B 部分为空,反之亦然反之亦然。