首页 > 数据库技术 > 详细

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

时间:2014-02-23 20:31:08      阅读:806      评论:0      收藏:0      [点我收藏+]

在讲述之前,假设有如下两个表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

截图省略。

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!