SQL的内连接与外连接

转载 2016年05月30日 22:42:58

在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内连接的等值连接。

     为了方便我们创建两张最简易的表A、B,具体的表结构参看下面,来分析内连接与外连接的区别

图1,表A          图2 表B

                      图1                                                                      图2

 

两个表要做连接,必须要有连接字段,而在表A和表B中连接字段是Aid和Bnamid,下图说明了连接之间关系图3

图3

                                                                  图3

    (1) 内连接:利用内连接(等值)就可获取蓝色的公共部分C,即图3中的数据集C,结果集为如下:

   

             图4

                                                                   图4

 

   其实select * from A join B on A.Aid=B.Bnamid;等价于select * from A,B where A.Aid=B.Bnamid;
       注:非等值连接主要的话是针对一个范围来查询数据,自连接主要就是把1张表堪称两张表来用                        
   (2)外连接:分为左外连接(left join)与右外连接(right join)
      
      左外连接即公共显示的蓝色部分C1+显示黄色的记录集A1,显示语句等价于select * from A,B where A.Aid=B.Bnamid(+);      

     等同select * from A left join B on A.Aid = B.Bnamid; 

 

            图5

                                                                    图  5

 

右外连接即公共显示的蓝色部分C1+显示绿色的B1,显示语句等价于select * from A,B where A.Aid(+)=B.Bnamid;

等同select * from A right join B on A.Aid = B.Bnamid; 

          图6 

                                                                      图6

 

  表A和表B情况是相对的,以上实验都是A在左边的情况,其实A left join B与B right join A的情况的结果集是一样的。

相关文章推荐

SQL 内连接,外连接

  • 2009年11月05日 17:25
  • 269KB
  • 下载

SQL有外连接的时候注意过滤条件位置

2013年/5月/2日   奶奶的,为啥现在五一节只放3天,5月的天气最适合出游了,不过俺们这些苦逼的IT男是没法享受了。 一来到公司,项目经理就找到开发leader,说我们网站 页面很慢,让他...

sql内连接、外连接

  • 2012年04月18日 20:06
  • 2KB
  • 下载

sql内连接和外连接

  • 2016年12月14日 14:05
  • 385KB
  • 下载

SQL 中的左外连接和+号的用法

Oracle 左连接、右连接、全外连接、(+)号作用 Oracle  外连接 (1)左外连接 (左边的表不加限制)        (2)右外连接(右边的表不加限制)  ...
  • pianzif
  • pianzif
  • 2014年04月28日 22:38
  • 6219

简述SQL中的外连接

简述SQL中的“外连接”   1、SQL中外连接分为三种:左外连接、右外连接、全外连接。 2、英文书写格式: 左外连接:LEFT OUTER JOIN(LEFT JOIN); 右外连接:RIGHT O...

sql内连接、外连接区别

原文链接:http://www.16kan.com/question/detail/320766.html Introduction介绍 The first thi...

黑马程序员之SQL 学习笔记:数据库的内连接和外连接

如表 ------------------------------------------------- table1        |            table2          | --...

SQL的内连接与外连接

转自:http://blog.csdn.net/killerggf/article/details/6216102   有两个表A和表B。   表A结构如下:   Aid:int;标识种子,主...
  • lujunql
  • lujunql
  • 2013年03月19日 14:06
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL的内连接与外连接
举报原因:
原因补充:

(最多只允许输入30个字)