join操作-内联,左外联,右外联,交叉联,全联

在数据库中新建三张表格:

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

结果:



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值