sql语句中join的使用

表a

idvalueA
1100
2200
3300

表b

idvalueB
1一百
2两百
300三百

LEFT JOIN 左连接

select a.Id, a.valueA, b.id ,b.valueB from a left join b on a.id=b.id

a.idvalueAb.idvalueB
11001一百
22002两百
3300nullnull

左边表全部显示,右边表 sql语句on后面的条件满足的显示,不满足的全部填NULL

RIGHT JOIN 右连接

select a.Id, a.valueA, b.id ,b.valueB from a right join b on a.id=b.id

a.idvalueAb.idvalueB
11001一百
22002两百
nullnull300三百

右边表全部显示,左边表sql语句on后面的条件满足的显示,不满足的全部填NULL。和左连接相反

INNER JOIN 内连接

select * from a inner join b on a.id=b.id

a.idvalueAb.idvalueB
11001一百
22002两百

把on后面条件满足的所有数据显示出来,不满足不填null,不显示

注意

当两张表的数据不同条数,例如
改表b为

idvalueB
1一百
2两百

这样右连接的话
select a.Id, a.valueA, b.id ,b.valueB from a right join b on a.id=b.id

b.idvalueBa.idvalueA
11001一百
22002两百

b表没有第三条数据,就不用把a表的第三条数据填null做显示了,左连接同理

一般用的
select * from a,b on a.id=b.id 写法和内连接是一样的

----------------------------------------------结束------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值