SQL开发技巧 join从句
SQL標準中 join的類型
1、內(nèi)連接 (INNER)
2、全外連接(FULL OUTER)
JOIN 3、左外連接(LEFT OUTER)
4、右外連接 (RIGHT OUTER)
5、交叉連接 (CROSS)
首先準備兩張表 ? ? 西天取經(jīng)四人組 和 悟空的朋友們 ?
? ? ??
1、INNER JOIN (內(nèi)連接)
內(nèi)連接基于連接謂詞 將兩張表的列組合到一起,產(chǎn)生新的結(jié)果表
執(zhí)行:select * from fourmangroup a inner join wukongFriends b on a.user_name=b.user_name?
結(jié)果:
2、LEFT OUTER JOIN (左外連接)
查詢?nèi)〗?jīng)四人組中哪些人不是悟空的結(jié)拜兄弟
執(zhí)行:select * from fourmangroup a left join wukongFriends b on a.user_name=b.user_name?
結(jié)果:查出A表中所有數(shù)據(jù),并且與B表沒有關聯(lián)的項將被置為空
3、RIGHT OUTER JOIN(右外連接)
與左外連接正好相反 ?,結(jié)果會保留b表中的中的所有數(shù)據(jù) ,和a表沒有關聯(lián)的項將被置為空
執(zhí)行:
4、FULL JOIN(全連接)
查詢出A表和B表中所有的數(shù)據(jù),或查詢出A表和B表所有的數(shù)據(jù)并將重復部分給過濾掉。
注意:在mysql中默認是不支持FULL JOIN的 ? 會報出1604的錯誤
轉(zhuǎn)化思想:左連接的結(jié)果+右連接 ?=全連接 ??
left join ? 。。。。。。 uinon all ? .... ? ? right ? join ....
執(zhí)行:select * from fourmangroup a left join wukongFriends b on a.user_name=b.user_name?
union all
select * from fourmangroup a right join wukongFriends b on a.user_name=b.user_name where b.user_name is not null
結(jié)果:
5、Cross JOIN(交叉連接)
又稱笛卡爾連接或叉乘,即A表2條記錄,B表3條記錄,則結(jié)果為2*3 ? 6條記錄
執(zhí)行:select * from fourmangroup a cross join wukongFriends b?
結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的SQL开发技巧 join从句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序 setData动态设置数组中
- 下一篇: Https 与 SSl证书 概要