栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“ INNER JOIN”和“ OUTER JOIN”有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“ INNER JOIN”和“ OUTER JOIN”有什么区别?

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

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

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

例子

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

A    B-    -1    32    43    54    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 | 34 | 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 | null2 | null3 |    34 |    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    |  34    |  4null |  5null |  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 |    4null |    6null |    5


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404704.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号