数据库 inner join 和 left join 和right join 的区别
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 20:16:30
数据库 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
/*
和左连接一样,只是以右表为基准了
*/
--建立测试数据
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
/*
和左连接一样,只是以右表为基准了
*/
数据库 inner join 和 left join 和right join 的区别
left join和inner join的区别
join和inner join的区别?
SQL中 inner join、 left join 、right join、 outer join之间的区别
inner join,left join,right join,full join 的区别?最好用例子说明!
left join,right join 和 left out join,right out join 有什么区别吗?多
有没有 left inner join 和right inner join啊有点晕
数据库中的left join 和left outer join有什么本质的区别?
Oracle中的join 和left join 有什么区别啊?还有inner join
数据库的问题:解释inner join,left outer join ,cross join
left join 和 left outer join 的区别
SQL语句(inner join,left out join,right out join三者的不同用法)