mysql 之各類 join 之間的關係

1、瞭解一下 mysql 中所擁有的各類 join  

   left join(左聯接):返回包括左表中的全部記錄和右表中聯結字段相等的記錄 
 right join(右聯接):返回包括右表中的全部記錄和左表中聯結字段相等的記錄
 inner join(等值鏈接):只返回兩個表中聯結字段相等的行mysql

2、案例呈上

     

2.1. left join

  select * from A left jon B on A.aID = B.bID

   

結果說明:sql

  left join 是以 A表 的記錄爲基礎的,A能夠當作左表,B能夠當作右表,left join 是以左表爲準的。
  換句話說,左表(A) 的記錄將會所有表示出來,而右表(B) 只會顯示符合搜索條件的記錄( 例子中爲: A.aID = B.bID)spa

2.2. right join

  select * from A right join B on A.aID = B.bID

  

結果說明:blog

  仔細觀察一下就會發現,和 left join 的結果恰好相反,此次是以右表(B) 爲基礎的,A表不足的地方用 NULL 填充。class

2.3. inner join

  select * from A inner join B on A.aID = B.bID

   

結果說明:基礎

  很明顯,這裏只顯示出了 A.aID = B.bID 的記錄。這說明 inner join 並不以誰爲基礎,它只顯示符合條件的記錄、select

相關文章
相關標籤/搜索