inner join 和 outer join 的区别
来源:互联网 发布:unity3d游戏开发 源码 编辑:程序博客网 时间:2024/06/05 16:21
假设你要join两个没有重复列的表,这是最常见的情况:
inner join A 和 B 获得的是A和B的交集(intersect),即韦恩图(venn diagram) 相交的部分.
outer join A和B获得的是A和B的并集(union), 即韦恩图(venn diagram)的所有部分.
示例
假定有两张表,每张表只有一列,列数据如下:
A B- -1 32 43 54 6
注意(1,2)是A表独有的,(3,4) 两张共有, (5,6)是B独有的。
Inner join
使用等号进行inner join以获得两表的交集,即共有的行。
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
Left outer join
left outer join 除了获得B表中符合条件的列外,还将获得A表所有的列。
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
Full outer join
full outer join 得到A和B的交集,即A和B中所有的行.。如果A中的行在B中没有对应的部分,B的部分将是 null, 反之亦然。
select * from a FULL OUTER JOIN b on a.a = b.b; a | b -----+----- 1 | null 2 | null 3 | 3 4 | 4null | 6null | 5
本文由尤慕译自Stack Overflow,转载请保留此信息。
- inner join 和 outer join 的区别
- inner join和outer join的区别
- inner join、outer join和cross join的区别
- 【SQL】inner join、outer join、cross join和left join、right join、full join的区别
- left outer join,inner join,right outer join的区别
- SQL数据库中 inner join和outer join的区别
- inner join,outer join,left join,right join的区别
- inner join,outer join,left join,right join的区别
- inner join,outer join,left join,right join的区别
- Inner join,outer join,left join,right join的区别
- Inner join,outer join,left join,right join的区别
- SQL Inner Join,Outer Join,Cross Join, Natural Join 的定义和区别
- INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL OUTER JOIN的区别
- inner join 和outer join
- inner join 和 outer join
- SQL中 inner join、 left outer join 、right outer join、 full outer join之间的区别
- SQL中inner join、outer join、cross join 的区别
- 数据库的外连接(OUTER JOIN),内连接(INNER JOIN)和交叉连接(CROSS JOIN)区别
- LINUX内核之中断(3)--中断下半部2
- input system
- 线程--BlockingQueue
- SpringMVC请求处理流程(附图)
- NSXMLParser具体解析xml的应用详解
- inner join 和 outer join 的区别
- Linux 编程
- hdu3658 How many words
- 撕破虚伪面具:VC 不投资的5个信号
- Debugging the kernel using Ftrace
- android sdk, adt等的下载
- swf文件结构
- LINUX内核之中断(4)--时间管理
- vs不支持通过afxgetmainwnd()获取窗口句柄