其實我對 數據庫的級聯或者聯結查詢一直都是會用,項目能查詢出來自己想要的結果即可。
畢竟SQL使用複雜的查詢畢竟比較少,而且不難使用。
至於區分他們,我還真的有點模糊。
在看 《SQL必知必會》這本書的時候,
from 多個表 和 級聯 join 查詢結果和 原理都是一樣的。
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 .
其實他們兩個是差不多。
也就是 以 from 的 表 爲主, 如果 left join 的表沒有 這個內容, 那麼顯示的內容就是空。
比如:
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 的縮寫, 都是一樣的
可以參考網友總結的更好
A left join B 的連接的記錄數與A表的記錄數同
A right join B 的連接的記錄數與B表的記錄數同
A left join B 等價B right join A
內連接 只連接匹配的行
左外連接 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行),以及右邊表中全部匹配的行
右外連接 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行),以及左邊表中全部匹配的行