其實我對 數據庫的級聯或者聯結查詢一直都是會用,項目能查詢出來本身想要的結果便可。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
內鏈接 只鏈接匹配的行
左外鏈接 包含左邊表的所有行(無論右邊的表中是否存在與它們匹配的行),以及右邊表中所有匹配的行
右外鏈接 包含右邊表的所有行(無論左邊的表中是否存在與它們匹配的行),以及左邊表中所有匹配的行