sql中join、left join、left outer join、right join 的區別

(1)left join(左連接)是 left outer join的簡寫,返回左表中所有記錄和右表中連接字段相等的記錄,即返回的記錄數和左表的記錄數一樣。

(2)right join(右連接),返回右表中所有記錄和左表中連接字段相等的記錄,即返回的記錄數和右表的記錄數一樣。

(3)join(等值連接),只返回兩個表中連接字段相等的記錄。

有兩個表A,B

A表結構及記錄如下: B表結構及記錄如下:

    ID     num       IDnum

    1      1001       2122

    2      1002       4144

    3      1003       6166

    4      1004


select * from A a left join B b on(a.ID = b.ID)的結果如下:

  A.ID     A.num     B.ID    B.num

  11001         null    null

  21002         2       122

  31003        null     null

  41004        4        144

select * from A a right join B b on(a.ID = b.ID)

的結果如下:

   A.IDA.num B.IDB.num

    21002      2           122

    41004      4           144

   nullnull 6 166

select * from A a join B b on(a.ID = b.ID)</span>

的結果如下:

A.IDA.num B.ID B.num

21002 2 122

4 1004 4 144


如果找在A表中但不在B表中的ID時,用left join方法可以寫作:

select * from A a left join B b on(a.ID = b.ID ) where b.ID is null</span>



發佈了33 篇原創文章 · 獲贊 17 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章