圖解5種Join連接及實戰(zhàn)案例!(inner/ left/ right/ full/ cross)
Join 連接在日常開發(fā)用得比較多,但大家都搞清楚了它們的使用區(qū)別嗎??一文帶你上車~~
內(nèi)連接 inner join
內(nèi)連接是基于連接謂詞將倆張表(如A和B)的列組合到一起產(chǎn)生新的結(jié)果表,在表中存在至少一個匹配時,INNER JOIN 關(guān)鍵字返回行。
下面是一個簡單的使用案例
以下是運行代碼及結(jié)果
左外連接 left join
左外連接Left join關(guān)鍵字會從左表那里返回所有的行,即使是在右表中沒有匹配到的行
下面是一個簡單的案例
下面是測試用例
右外連接 right join
右外連接關(guān)鍵字Right join會從右表那里返回所有的行,即使是在左表中沒有匹配到的行
下面是一個簡單的案例
下面是運行及其結(jié)果
全連接 full join
全連接的關(guān)鍵字Full join,只要其中某個表中存在匹配,F(xiàn)ull join 就會返回行
下面是一個簡單的案例
以下是運行及結(jié)果
注意一點 mysql中是不支持Full join 的但是orcal等數(shù)據(jù)庫是支持的。
如果在mysql要使用Full join就會報以下錯誤
解決辦法:同時使用左連接和右連接
以下是一個簡單的例子
交叉連接 cross join
交叉連接一般使用的比較少,交叉連接又稱笛卡爾連接或者叉乘連接,如果,A和B是倆個集合,他們的交叉連接就是A*B
以下是一個簡單的案例
https://blog.csdn.net/u013412790/article/details/51626307