mysql内连接、左连接,右连接,(全连接/外连接)之间的区别


1、左连接
sql语句 
select boy.*,girl.* from boy left join girl on boy.id=girl.id;


  
2、右连接
sql语句:
select boy.*,girl.* from boy right join girl on boy.id=girl.id;


 
根据效果图,总结:
a left/right join b  on 关联条件
其中right/left可以看做 主表的指示词,即left表示左边的表(a)为主表,右边的表(b)为副表

左/右连接,即以主表的关联字段id匹配副表的字段id
如果是一对零关联(1:0),则用null补齐
如果是一对多关联(1:n),根据副表补齐n条数据


特点:
左右关联查询,不进行筛选的表中,数据条数至少是大于等于主表数据条数
副表中的数据,不一定全部会被匹配到
左、右连接可以互换


3、全连接(对于mysql来说是不支持全连接的)
事实上,全连接就是左连接和右连接数据的并集。
可以通过union 实现同样的效果
select boy.*,girl.* from boy right join girl on boy.id=girl.id 
union
select boy.*,girl.* from boy left join girl on boy.id=girl.id;

效果如下:



4、内连接
内连接,即左、右连接的交集
sql语句:
select boy.*,girl.* from boy join girl on boy.id=girl.id;


 


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值