join操作-内联,左外联,右外联,交叉联,全联
在數(shù)據(jù)庫中新建三張表格:
T1
T2
T3
?
普通查詢:
select * from T1, T3 where T1.user_id = T3.user_id
結(jié)果:
---------------------------------------------------------------
join就是把兩張表格等效當(dāng)做一張表來查
內(nèi)聯(lián)(inner join):
select * from T1 inner join T2 on T1.user_id = T2.user_id
on表示條件
T1 inner join T2表示T1和T2 整合起來當(dāng)做一張表
結(jié)果:
---------------------------------------------------------------
左外聯(lián)(left outer join):
select * from T1 left outer join T2 on T1.user_id=T2.user_id
T1 left outer join T2中的left表示左邊先顯示T1,T2要不要顯示取決于on后面的條件
表示左邊的表格不加限制
left outer join可以寫成left join,所以左外聯(lián)就是左聯(lián),下同
?
?select * from T1 left join T2 on T1.user_id=T2.user_id
?
結(jié)果:
---------------------------------------------------------------
右外聯(lián)(right outer join):
select * from T1 right outer join T2 on T1.user_id=T2.user_id
表示右邊的表格不加限制
結(jié)果:
---------------------------------------------------------------
全外聯(lián)(full outer join)
由于mysql不支持全聯(lián)
select * from T1 left join T2 on T1.user_id = T2.user_id
union
select * from? right join T2 on T1.user_id = T2.user_id ;
?
結(jié)果:
?
---------------------------------------------------------------
交叉聯(lián)(cross join)也就是把兩張表格的內(nèi)容進(jìn)行排列組合后返回
select * from T1 cross join T2
結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的join操作-内联,左外联,右外联,交叉联,全联的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sklearn中的验证
- 下一篇: 在python的dataframe中进行