Sql中left join、right join、inner join 的区别详解程序员

一、简介

left join、right join是外部连接;inner join是内连接。

外部连接有主表与从表,主表在left中是左侧表,right中是右侧表。主表数据会全部显示,从表数据则只显示关联部分匹配的数据,无匹配的数据用null补全。

内连接则只显示两表关联条件匹配的数据。

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表。left join是以左表为准的。

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例如: A.aID = B.bID). B表记录不足的地方均为null。

二、实例驱动

select * from a;
编号      姓名
——    ———-
1000     张三
2000     李四
3000     王五

select * from b;
编号     商品
—-      ———-
1000    电视机
2000    录像机
4000    自行车

select a.*,b.* from a inner join b on a.编号=b.编号;
编号  姓名  编号  商品
—- ———- —- ———-
1000 张三 1000 电视机

2000 李四 2000 录像机

select a.*,b.* from a left join b on a.编号=b.编号;
编号 姓名 编号 商品
—- ———- —- ———-
1000 张三 1000 电视机
2000 李四 2000 录像机

3000 王五 null  null

select a.*,b.* from a right join b on a.编号=b.编号;
编号 姓名 编号 商品
—- ———- —- ———-
1000 张三 1000 电视机
2000 李四 2000 录像机
null   null  4000 自行车

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/1915.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论