sql 学习笔记之 left /right/ inner joi
left join right join inner join 的区别。
left join 与right join 类似 结果显示的是左(left)表或者右(right)表的全部以及对应的join 表中字段符合连接要求的内容 如果连接表中没有符合条件的则显示null。
inner join 则是只显示符合连接条件的所有内容。
从建表开始看一下区别
先创建一个学生表
create table student (id int primary key identity(1,1) ,name varchar(50) ,sex varchar(50))
插入几条数据
insert into student (name,sex) values ('张三','男')
insert into student (name,sex) values ('李清照,'男')
insert into student (name,sex) values ('苏东坡,'男')
insert into student (name,sex) values ('辛弃疾,'男')
insert into student (name,sex) values ('晏几道,'男')
再创建一个成绩表
create table score (id int primary key identity(1,1),name varchar(50),score int)
插入几条数据
insert into score(name,score) values ('张三',90)
insert into score(name,score) values ('李清照,98)
insert into score(name,score) values ('苏东坡,99)
insert into score(name,score) values ('辛弃疾,99)
insert into score (id,name,sex) values (12,'晏殊',97)
表建好以后开始测试left join
select * from student a left join score b on a.id= b.id
a3.png可以看到查询结果是student 表的全部以及 score表的符合条件的部分
再看看right join
select * from student a right join score b on a.id= b.id
a4.png可以看到查询结果是score 表的全部以及 student 表的符合条件的部分
最后看下inner join
select * from student a inner join score b on a.id= b.id
a5.png可以看出 inner join 的查询结果是 仅显示符合条件的部分 三者的区别一目了然