mysql 聯結,級聯查詢總結區分

其實我對 數據庫的級聯或者聯結查詢一直都是會用,項目能查詢出來本身想要的結果便可。html

畢竟SQL使用複雜的查詢畢竟比較少,並且不難使用。sql

至於區分他們,我還真的有點模糊。數據庫

在看 《SQL必知必會》這本書的時候,code

from 多個表 和 級聯 join  查詢結果和 原理都是同樣的。htm

SELECT a.id,b.id from userbasicsinfo a,userbank b
where a.id=b.user_id;

SELECT a.id,b.id from userbasicsinfo a
INNER JOIN
userbank b on a.id=b.user_id;

SELECT a.id,b.id from userbasicsinfo a
 JOIN
userbank b on a.id=b.user_id;

以上 3中寫法都是同樣的,原理都是同樣的。
只是 from 多個表查詢,可能對於某些人看來有點不規範而已。

 

剩下的用的比較多的就是  left join , 反正我是沒用過 right join .blog

其實他們兩個是差很少。get

也就是 以 from 的 表 爲主, 若是 left join  的表沒有 這個內容, 那麼顯示的內容就是空。class

好比:原理

SELECT a.id,b.id from userbasicsinfo a
 LEFT OUTER JOIN
userbank b on a.id=b.user_id;



結果:

id  id1
1   
2    1
3

 

 

 

left join 就是   LEFT OUTER JOIN  的縮寫, 都是同樣的im

能夠參考網友總結的更好

網友總結的

  A   left   join   B   的鏈接的記錄數與A表的記錄數同  
  A   right   join   B   的鏈接的記錄數與B表的記錄數同    
  A   left   join   B   等價B   right   join   A  

內鏈接        只鏈接匹配的行
左外鏈接        包含左邊表的所有行(無論右邊的表中是否存在與它們匹配的行),以及右邊表中所有匹配的行
右外鏈接        包含右邊表的所有行(無論左邊的表中是否存在與它們匹配的行),以及左邊表中所有匹配的行

相關文章
相關標籤/搜索