您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

“泪神经联接”和“尿素联接”有什么区别?

“泪神经联接”和“尿素联接”有什么区别?

假设您要加入没有重复的列,这是一种很常见的情况:

A和B的内部连接给出A相交B的结果,即维恩图相交的内部。

A和B的外部连接给出A并集B的结果,即维恩图并集的外部。

假设您有两个表,每个表都有一个列,数据如下:

A    B
-    -
1    3
2    4
3    5
4    6

请注意,(1,2)是A唯一的,(3,4)是通用的,(5,6)是B唯一的。

使用任一等价查询的内部联接将给出两个表的交集,即它们共有的两行。

select * from a INNER JOIN b on a.a = b.b;
select a.*, b.*  from a,b where a.a = b.b;

a | b
--+--
3 | 3
4 | 4

左外部联接将给出A中的所有行,以及B中的所有常见行。

select * from a LEFT OUTER JOIN b on a.a = b.b;
select a.*, b.*  from a,b where a.a = b.b(+);

a |  b
--+-----
1 | null
2 | null
3 |    3
4 |    4

右外部联接将给出B中的所有行,以及A中的所有常见行。

select * from a RIGHT OUTER JOIN b on a.a = b.b;
select a.*, b.*  from a,b where a.a(+) = b.b;

a    |  b
-----+----
3    |  3
4    |  4
null |  5
null |  6

完整的外部联接将为您提供A和B的并集,即A中的所有行和B中的所有行。如果A中的某物在B中没有对应的基准,则B部分为空,反之反之亦然。

select * from a FULL OUTER JOIN b on a.a = b.b;

 a   |  b
-----+-----
   1 | null
   2 | null
   3 |    3
   4 |    4
null |    6
null |    5
其他 2022/1/1 18:38:14 有455人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶