zoukankan      html  css  js  c++  java
  • 转:SQL的内连接与外连接

    参考:http://www.cuiyongjian.com/post-130.html

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

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

             

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客                     

                     图1                                         

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客                            

                  图2

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

                        

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客                                             

                                                   图3

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

       

             

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客   

                                              图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(+);       

               

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客                                                                   

                                        图  5

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

              

    SQL的内连接与外连接 - cs_mayong - cs_mayong的博客                                    

                                              图6

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

  • 相关阅读:
    [Android Pro] AndroidStudio IDE界面插件开发(Hello World篇)
    [Android Pro] 组件化:企业级大型项目必经之路
    [Android Pro] 终极组件化框架项目方案详解
    [Android Pro] 由模块化到组件化(一)
    [Android Pro] 开发一流Android SDK
    [Android Pro] 开发一流的 Android SDK:Fabric SDK 的创建经验
    [Android Security] 静态分析Android程序——smali文件解析
    [Android Security] jar文件转smali文件
    [Android Security] APK自我保护
    C++ this指针
  • 原文地址:https://www.cnblogs.com/kira2will/p/3987597.html
Copyright © 2011-2022 走看看