內聯,左外聯,右外聯,交叉聯,全聯

轉發自:https://blog.csdn.net/appleyuchi/article/details/79404886

在數據庫中新建三張表格:

T1

T2

T3

 

普通查詢

select * from T1, T3 where T1.user_id = T3.user_id

結果:

---------------------------------------------------------------

join就是把兩張表格等效當做一張表來查

內聯(inner join)

select * from T1 inner join T2 on T1.user_id = T2.user_id

on表示條件
T1 inner join T2表示T1和T2 整合起來當做一張表

結果:



---------------------------------------------------------------
左外聯(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,所以左外聯就是左聯,下同

 select * from T1 left join T2 on T1.user_id=T2.user_id

結果:

---------------------------------------------------------------
右外聯(right outer join):
select * from T1 right outer join T2 on T1.user_id=T2.user_id

表示右邊的表格不加限制

結果:


---------------------------------------------------------------
全外聯(full outer join)
由於mysql不支持全聯
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 ;

結果:

---------------------------------------------------------------

交叉聯(cross join)也就是把兩張表格的內容進行排列組合後返回

select * from T1 cross join T2

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章