作业帮 > 综合 > 作业

数据库 inner join 和 left join 和right join 的区别

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 00:40:46
数据库 inner join 和 left join 和right join 的区别
请说的详细一点,我就这里理解的不够好.
最好用代码和返回结果 加点理论,让我了解.
数据库 inner join 和 left join 和right join 的区别
--测试代码
--建立测试数据
create table #ta1(id integer ,aa char(1))
create table #ta2(id integer ,aa char(1))
insert into #ta1
select 1,'a'
insert into #ta1
select 2,'b'
insert into #ta2
select 1,'a'
insert into #ta2
select 3,'b'
insert into #ta2
select 4,'c'
-----------------------------------
--完全测试
select a.id,a.aa,b.id,b.aa from #ta1 a
inner join #ta2 b on a.id=b.id
/*结论:
左表的id必须完全跟右表的id一致,不匹配的不显示
*/
--左链接测试
select a.id,a.aa,b.id,b.aa from #ta1 a
left join #ta2 b on a.id=b.id
/*
结论:
以左表作为基准,右表能匹配上的就显示出来,不匹配的就显示成NULL,
记录个数满足左表
*/
--右连接测试
select a.id,a.aa,b.id,b.aa from #ta1 a
right join #ta2 b on a.id=b.id
/*
和左连接一样,只是以右表为基准了
*/