终于找到一个有助理解left/right/full outer join的例子
2010-10-06 18:19
489 查看
近日在学习《UnderstadingDB2》的时候找到了一个例子,对于理解left/right/full三种outerjoin的大有裨益。
先看样本数据,来自DB2的示例数据库sample:
注意,我故意插了一条没有对应部门的测试数据到employee表中,现在看看left/right/fulloutjoin
的结果:
LEFTOUTJOIN
RIGHTOUTERJOIN
FULLOUTERJOIN
先看样本数据,来自DB2的示例数据库sample:
01 | db2=> insert into employee values ( '99999' , 'killkill' , 'N' , 'Huang' , null , null , null , 'nothing' ,16, 'M' , null , null , null , null ); |
02 | DB20000ITheSQLcommandcompleted successfully. |
03 |
04 | db2=> SELECT empno,firstnme, SELECT deptno,deptname from department order by 1; |
05 | db2(cont.)=> FROM employee order by 4; | |
06 | | |
07 | EMPNOFIRSTNMELASTNAME |
08 | --------------------------------- |
09 | 000010CHRISTINEHAAS |
10 | 000110VINCENZOLUCCHESSI |
11 | 000120SEANO'CONNELL |
12 | 200010DIANHEMMINGER |
13 | 200120GREGORLANDO |
14 | 000020MICHAELTHOMPSON |
15 | 000030SALLYKWAN |
16 | 000130DELORESQUINTANA |
17 | 000140HEATHERNICHOLLS |
18 | 200140KIMNATZ |
19 | 000060IRVINGSTERN |
20 | 000150BRUCEADAMSON |
21 | 000160ELIZABETHPIANKA |
22 | 000170MASATOSHIYOSHIMURA |
23 | 000180MARILYNSCOUTTEN |
24 | 000190JAMESWALKER |
25 | 000200DAVIDBROWN |
26 | 000210WILLIAMJONES |
27 | 000220JENNIFERLUTZ |
28 | 200170KIYOSHIYAMAMOTO |
29 | 200220REBAJOHN |
30 | 000070EVAPULASKI |
31 | 000230JAMESJEFFERSON |
32 | 000240SALVATOREMARINO |
33 | 000250DANIELSMITH |
34 | 000260SYBILJOHNSON |
35 | 000270MARIAPEREZ |
36 | 200240ROBERTMONTEVERDE |
37 | 000050JOHNGEYER |
38 | 000090EILEENHENDERSON |
39 | 000280ETHELSCHNEIDER |
40 | 000290JOHNPARKER |
41 | 000300PHILIPSMITH |
42 | 000310MAUDESETRIGHT |
43 | 200280EILEENSCHWARTZ |
44 | 200310MICHELLESPRINGER |
45 | 000100THEODORESPENSER |
46 | 000320RAMLALMEHTA |
47 | 000330WINGLEE |
48 | 000340JASONGOUNOT |
49 | 200330HELENAWONG |
50 | 200340ROYALONZO |
51 | 99999killkillHuang |
的结果:
LEFTOUTJOIN
01 | db2=> SELECT empno,firstnme, |
02 | db2(cont.)=> FROM employee LEFT OUTER JOIN department |
03 | db2(cont.)=> ON workdept=deptno |
04 | db2(cont.)=>; |
05 |
06 | EMPNOFIRSTNMELASTNAME |
07 | --------------------------------- |
08 | 000010CHRISTINEHAAS |
09 | 000020MICHAELTHOMPSON |
10 | 000030SALLYKWAN |
11 | 000050JOHNGEYER |
12 | 000060IRVINGSTERN |
13 | 000070EVAPULASKI |
14 | 000090EILEENHENDERSON |
15 | 000100THEODORESPENSER |
16 | 000110VINCENZOLUCCHESSI |
17 | 000120SEANO'CONNELL |
18 | 000130DELORESQUINTANA |
19 | 000140HEATHERNICHOLLS |
20 | 000150BRUCEADAMSON |
21 | 000160ELIZABETHPIANKA |
22 | 000170MASATOSHIYOSHIMURA |
23 | 000180MARILYNSCOUTTEN |
24 | 000190JAMESWALKER |
25 | 000200DAVIDBROWN |
26 | 000210WILLIAMJONES |
27 | 000220JENNIFERLUTZ |
28 | 000230JAMESJEFFERSON |
29 | 000240SALVATOREMARINO |
30 | 000250DANIELSMITH |
31 | 000260SYBILJOHNSON |
32 | 000270MARIAPEREZ |
33 | 000280ETHELSCHNEIDER |
34 | 000290JOHNPARKER |
35 | 000300PHILIPSMITH |
36 | 000310MAUDESETRIGHT |
37 | 000320RAMLALMEHTA |
38 | 000330WINGLEE |
39 | 000340JASONGOUNOT |
40 | 200010DIANHEMMINGER |
41 | 200120GREGORLANDO |
42 | 200140KIMNATZ |
43 | 200170KIYOSHIYAMAMOTO |
44 | 200220REBAJOHN |
45 | 200240ROBERTMONTEVERDE |
46 | 200280EILEENSCHWARTZ |
47 | 200310MICHELLESPRINGER |
48 | 200330HELENAWONG |
49 | 200340ROYALONZO |
50 | 99999killkillHuang |
01 | db2=> SELECT empno,firstnme, |
02 | db2(cont.)=> FROM employee RIGHT OUTER JOIN department |
03 | db2(cont.)=> ON workdept=deptno |
04 | db2(cont.)=>; |
05 |
06 | EMPNOFIRSTNMELASTNAME |
07 | --------------------------------- |
08 | 000010CHRISTINEHAAS |
09 | 000020MICHAELTHOMPSON |
10 | 000030SALLYKWAN |
11 | 000050JOHNGEYER |
12 | 000060IRVINGSTERN |
13 | 000070EVAPULASKI |
14 | 000090EILEENHENDERSON |
15 | 000100THEODORESPENSER |
16 | 000110VINCENZOLUCCHESSI |
17 | 000120SEANO'CONNELL |
18 | 000130DELORESQUINTANA |
19 | 000140HEATHERNICHOLLS |
20 | 000150BRUCEADAMSON |
21 | 000160ELIZABETHPIANKA |
22 | 000170MASATOSHIYOSHIMURA |
23 | 000180MARILYNSCOUTTEN |
24 | 000190JAMESWALKER |
25 | 000200DAVIDBROWN |
26 | 000210WILLIAMJONES |
27 | 000220JENNIFERLUTZ |
28 | 000230JAMESJEFFERSON |
29 | 000240SALVATOREMARINO |
30 | 000250DANIELSMITH |
31 | 000260SYBILJOHNSON |
32 | 000270MARIAPEREZ |
33 | 000280ETHELSCHNEIDER |
34 | 000290JOHNPARKER |
35 | 000300PHILIPSMITH |
36 | 000310MAUDESETRIGHT |
37 | 000320RAMLALMEHTA |
38 | 000330WINGLEE |
39 | 000340JASONGOUNOT |
40 | 200010DIANHEMMINGER |
41 | 200120GREGORLANDO |
42 | 200140KIMNATZ |
43 | 200170KIYOSHIYAMAMOTO |
44 | 200220REBAJOHN |
45 | 200240ROBERTMONTEVERDE |
46 | 200280EILEENSCHWARTZ |
47 | 200310MICHELLESPRINGER |
48 | 200330HELENAWONG |
49 | 200340ROYALONZO |
50 | --- |
51 | --- |
52 | --- |
53 | --- |
54 | --- |
55 | --- |
01 | db2=> SELECT empno,firstnme, |
02 | db2(cont.)=> FROM employee FULL OUTER JOIN department |
03 | db2(cont.)=> ON workdept=deptno |
04 | db2(cont.)=>; |
05 |
06 | EMPNOFIRSTNMELASTNAME |
07 | --------------------------------- |
08 | 000010CHRISTINEHAAS |
09 | 000020MICHAELTHOMPSON |
10 | 000030SALLYKWAN |
11 | 000050JOHNGEYER |
12 | 000060IRVINGSTERN |
13 | 000070EVAPULASKI |
14 | 000090EILEENHENDERSON |
15 | 000100THEODORESPENSER |
16 | 000110VINCENZOLUCCHESSI |
17 | 000120SEANO'CONNELL |
18 | 000130DELORESQUINTANA |
19 | 000140HEATHERNICHOLLS |
20 | 000150BRUCEADAMSON |
21 | 000160ELIZABETHPIANKA |
22 | 000170MASATOSHIYOSHIMURA |
23 | 000180MARILYNSCOUTTEN |
24 | 000190JAMESWALKER |
25 | 000200DAVIDBROWN |
26 | 000210WILLIAMJONES |
27 | 000220JENNIFERLUTZ |
28 | 000230JAMESJEFFERSON |
29 | 000240SALVATOREMARINO |
30 | 000250DANIELSMITH |
31 | 000260SYBILJOHNSON |
32 | 000270MARIAPEREZ |
33 | 000280ETHELSCHNEIDER |
34 | 000290JOHNPARKER |
35 | 000300PHILIPSMITH |
36 | 000310MAUDESETRIGHT |
37 | 000320RAMLALMEHTA |
38 | 000330WINGLEE |
39 | 000340JASONGOUNOT |
40 | 200010DIANHEMMINGER |
41 | 200120GREGORLANDO |
42 | 200140KIMNATZ |
43 | 200170KIYOSHIYAMAMOTO |
44 | 200220REBAJOHN |
45 | 200240ROBERTMONTEVERDE |
46 | 200280EILEENSCHWARTZ |
47 | 200310MICHELLESPRINGER |
48 | 200330HELENAWONG |
49 | 200340ROYALONZO |
50 | --- |
51 | --- |
52 | --- |
53 | --- |
54 | --- |
55 | --- |
56 | 99999killkillHuang |
相关文章推荐
- 终于找到一个有助理解left/right/full outer join的例子
- [摘]终于找到一个有助理解left/right/full outer join的例子
- Sql语句中的inner join ,left outer join ,right outer join ,full join 的理解
- Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- Linq语句实现(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- Oracle外连接(left/right/full outer join)语法详解
- left ,right ,cross ,full/left outer join/区别 详解
- OCP-1Z0-051 第132题 LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN的用法
- Linq表连接大全(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- left (outer) join , right (outer) join, full (outer) join, (inner) join, cross join 区别
- cross join & natural join & inner join & left outer join & right outer join & full outer join
- 【Spark Java API】Transformation(8)—fullOuterJoin、leftOuterJoin、rightOuterJoin
- sql_LEFT [OUTER] JOIN,RIGHT [OUTER] JOIN,FULL [OUTER] JOIN,CROSS JOIN,INNER JOIN
- Spark算子--leftOuterJoin和rightOuterJoin
- left join 和 left outer join 的区别 ,full outer join
- SQL中的left outer join,inner join,right outer join用法详解
- sql中left join(left outer join)、inner join的使用,right join(right outer join)的用法和left join的相反就可以了。
- 一个使用FULL JOIN的例子