sql 学习笔记之 left /right/ inner joi

2018-07-02  本文已影响22人  e156012376cf

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 ('晏几道,'男')

a1.png

再创建一个成绩表

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)

a2.png

表建好以后开始测试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 的查询结果是 仅显示符合条件的部分 三者的区别一目了然

上一篇下一篇

猜你喜欢

热点阅读