sql join的5种连接方式

首先介绍一下,join有5中连接方式:1.内连接(inner join...on...)2.全外连接(full join ....on ... )3.左连接(left join ...on...)4.右连接(right join ...on ...)5.交叉连接(cross join ...on ...)

1.内连接(inner join...on...)  

select * from table1 a inner join table2 b on a.id=b.id 通过id将table1和table2 连接起来产生一个新表,新表是由这两个表的公共部分组成;如下图:

2.左外连接(left join ....on ... )

select * from table1 a left join table2 b on a.id=b.id 是以左表(table1)为基准,查询结果中包含左表全部数据,右表匹配数据不存在时用null代替;如下图:


3.右外连接(right join ... on...)

select * from table1 a right join table2 b on a.id=b.id 跟左外连接相对应,是以右表(table2)为基准,查询结果中包含右表全部数据,左表数据匹配不存在时用null代替;如下图:


4.全外连接(full join ...on...)

select * from table1 a full join table2 b on a.id=b.id 全外连接其实是左连接和右连接的一个合集,也就是说他会查询出左表和右表的全部数据,匹配不上的会显示为null;如下图:


5.交叉连接(cross join...)

select * from table1 a crossjoin table2 b ;

也可以写为 select * from table1,table2;

交叉连接,也称为笛卡尔积,查询返回结果的行数等于两个表行数的乘积



以上是我对5种join连接方式的理解,欢迎大家借鉴补充!


  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值