博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区分SQL Server关联查询之inner join,left join, right join, full outer join并图解
阅读量:5894 次
发布时间:2019-06-19

本文共 1702 字,大约阅读时间需要 5 分钟。

1.from A inner join B on A.ID=B.ID :两表都有的记录才列出

A表:  ID   Name                           B表: ID  Class

         1      BMW                                   1     C1

         2      Aodi                                    2     C2

         Null    Benz                                  4     Null

         3        Null                                   Null   C4

 

select  * from A inner join B on A.ID=B.ID:

            ID       Name            ID        Class

            1        BMW              1         C1

            2         Aodi              2         C2

 

SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1

 

2.from A left join B on A.ID=B.ID:

   A表中所有记录列出,B中无法匹配的用Null匹配

A表:  ID   Name                           B表: ID  Class

         1      BMW                                   1     C1

         2      Aodi                                    2     C2

         Null    Benz                                  4     Null

         3        Null                                   Null   C4

select  * from A left join B on A.ID=B.ID:

            ID       Name            ID        Class

            1        BMW             1          C1

            2        Aodi              2          C2

           Null      Benz             Null       Null  

            3        Null               Null        Null    

 

 

    

SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

 

SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL

 

3.from A right join B on A.ID=B.ID:

  B表中所有记录列出,A中无法匹配的用Null匹配

A表:  ID   Name                           B表: ID  Class

         1      BMW                                   1     C1

         2      Aodi                                    2     C2

         Null    Benz                                  4     Null

         3        Null                                   Null   C4

select  * from A right join B on A.ID=B.ID:

        ID       Name                   ID        Class

       1          BMW                     1           C1

       2         Aodi                       2           C2

       Null      Null                        4           Null

       Null      Null                       Null        C4

 

SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

 

SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL

 

 

4.from A full outer join B on A.ID=B.ID.

   列出A表所有记录,B表所有记录。无法匹配的用Null替代

A表:  ID   Name                           B表: ID  Class

         1      BMW                                   1     C1

         2      Aodi                                    2     C2

         Null    Benz                                  4     Null

         3        Null                                   Null   C4

select * from A full outer join B on A.ID=B.ID.

ID       Name                   ID        Class

  1      BMW                     1         C1

  2      Aodi                      2        C2

  Null   Benz                     Null     Null

  3       Null                       Null    Null

 Null     Null                       4        Null

 Null    Null                        Null      C4

 

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1

 

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL

 

CROSS JOIN:

交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

SELECT * FROM Table1 t1 CROSS JOIN Table2 t2

 

转载地址:http://nonsx.baihongyu.com/

你可能感兴趣的文章
【ios6.0 自学瞎折腾】(三)表示图填充数据
查看>>
清理(委托类型实例)事件处理(实例)的函数及Lambda表达式
查看>>
Create UML diagrams online in seconds, no special tools needed.yUML
查看>>
Java中的反射机制(四) 利用反射访问私有
查看>>
抓屏原理
查看>>
Crash/Instance Recovery与Media Recovery的本质区别
查看>>
【组成原理】——运算器
查看>>
ASP.NET Dynamic Data Part.2(自定义动态数据网站)
查看>>
《Effective Java》读书笔记09--谨慎地覆盖clone方法
查看>>
AMF Message 及 AMF3 OBJECT 对象格式
查看>>
类对象Java设计模式之十八(中介者模式)
查看>>
Qt 写文件失败
查看>>
模板函数函数模板 Function Template(C++Primer-10)
查看>>
Gridview控件导出Excel之后图片无法显示
查看>>
FastJson
查看>>
IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
查看>>
Codeforces Round #191 (Div. 2) A. Flipping Game(简单)
查看>>
[置顶] 小本求职了---实习岗位
查看>>
Oracle中查看所有表和字段以及表注释.字段注释
查看>>
常用编程软件下载地址
查看>>