SQL 各种连接:内连接,外连接(左外,右外,完全外)

时间:2014-02-23 20:31:08   收藏:0   阅读:806

在讲述之前,假设有如下两个表EMP, DEPT, 并且他们数据如下:

bubuko.com,布布扣bubuko.com,布布扣

1. 内连接:

执行完内连接的结果显示为:(仅有14行,即:必须两个表都要满足连接条件)

bubuko.com,布布扣

2.  外连接(左外连接)

如下:(共计15行,左表EMP中不符合项连接条件的也都显示出来)

bubuko.com,布布扣

3. 外连接(右外连接)

如下:(共计15行,右边表DEPT中不符合项连接条件的也都显示出来)

bubuko.com,布布扣

4. 外连接(完全外连接)

如下:(共计16行,左表EMP,右表DEPT中,均中不符合项连接条件的也都显示出来。 )

完全外连接的执行原理是:先执行一个完整左外连接和一个右外连接查询,然后结果合并,去重复记录。

bubuko.com,布布扣

5.  自然连接 

当多表连接时,自然连接有ORACLE数据系统自动将两个表相同列进行连接,由于此种连接严格要求字段列名必须相同,并且不能为表,列使用限定词,所以实际使用中,非常少!!!

如下:14行记录

bubuko.com,布布扣

6.   自连接

顾名思义自己连接自己。 即:表中一个列B,是该表主键A的一个外键(也叫做“自引用式”)。 以上例子中,mgr列 值即是另外一回empno的值,因为mgr也是emp.

bubuko.com,布布扣

 

7.  交叉连接

 又称为笛卡尔连接,这种查询结果非常冗余,但是可以通过WHERE来过滤有用记录.

以上例子中,将会有15*4= 60条记录

SELECT    *     FROM   EMP CROSS JOIN DEPT

截图省略。

原文:http://www.cnblogs.com/dragonflyyi/p/3561752.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!