内连接 外连接(left join/ right join)

表a:

 

idname
1a1
2a2

表b:

 

xxIdname
2b1
3b2
4b3
5b4

 

1)表a内连接表b

 

select * from a inner join b on a.id = b.xxId(两者为平等的,即舍弃两者均未有的数据)

结果为:

 

idnamexxIdname
2a22b1

表b内连接表a

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

xxidnameIdname
2b12a2

 

2)表a左外连接表b

select * from a left (outer) join on a.id = b.xxId(因为左连接,即以左侧为基准(决定了有几行),对应填充,对应有值即填值,若不存在填null)

结果为:

 

idnamexxIdname
1a1NULLNULL
2a22b1

 


3.表b左外连接表a

 

select * from b left (outer) join on b.xxId = a.id(同上可知,查询记录共有4行,对应填充)

特注:注意表头展示顺序,以谁为基础谁在前

 

xxIdnameidname
2b12a2
3b2NULLNULL
4b3NULLNULL
5b4NULLNULL

 


4.表a右连接表b

 

select * from a right (outer) join on b where a.id = b.xxId

结果为:

 

idnamexxIdname
2a22b1
NULLNULL3b2
NULLNULL4b3
NULLNULL5b4


5.表b右连接表a

select * from b right (outer) join on a where b.xxId  = a.id

结果为:

 

xxIdnameidname
NULLNULL1a1
2b12a2

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值