首頁  >  文章  >  資料庫  >  左連接、右連接、內連接、全外連接的差別是什麼?

左連接、右連接、內連接、全外連接的差別是什麼?

青灯夜游
青灯夜游原創
2020-07-16 11:31:4964621瀏覽

區別:左連接返回包括左表中的所有記錄和右表中連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內連接只傳回兩個表中連接欄位相等的行;全外連接傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。

左連接、右連接、內連接、全外連接的差別是什麼?

left join (左連接,左外連接):傳回包含左表中的所有記錄和右表中連接欄位相等的記錄。

right join (右連接,右外連接):傳回包含右表中的所有記錄和左表中連接欄位相等的記錄。

inner join (等值連接或叫內連接):只傳回兩個表中連接欄位相等的行。

full join (全外連接):傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。

舉例:

A表

  id   name  

  1  小王

  2  1  小王

  2  

  3  小劉

B表

  id  A_id  job

  1         

##內連接:(只有2張表匹配的行才能顯示)

select a.name,b.job from A a  inner join B b on a.id=b.A_id
只能得到一筆記錄:

小李  老师

左連接:(左邊的表不加限制)

select a.name,b.job from A a  left join B b on a.id=b.A_id
 三筆記錄:

  小王  null
 
  小李  老师
 
  小刘  null

右連接:(右邊的表不加限制)

select a.name,b.job from A a  right join B b on a.id=b.A_id
兩筆記錄:

  小李  老师
 
  null  程序员

全外連接:(左右2張表格都不加限制)

select a.name,b.job from A a  full join B b on a.id=b.A_id
 四筆資料

  小王  null
 
  小李  老师
 
  小刘  null
 
  null  程序员

#註:在sql中l外連接包括左連接(left join )和右連接(right join),全外連接(full join),等值連接(inner join)又叫內連接。

相關推薦:《
SQL教學

以上是左連接、右連接、內連接、全外連接的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn