SQLServer 4類join查詢:inner join,left join, right join, full outer join


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

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        

 

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

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

 

其它join查詢:

  (1) left outer join,等價於left join.

 (2)right outer join, 等價於right join.

  (3) cross join,    笛卡爾乘積查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM