create table Aa( id number(5), name varchar2(10) ) insert into Aa values (1,'A'); insert into Aa values (2,'B'); insert into Aa values (3,'C'); insert into Aa values (4,'D'); insert into Aa values (5,'E'); insert into Aa values (6,'F'); insert into Aa values (7,'G'); insert into Aa values (8,'H'); select * from Aa;

create table Ab( id number(5), name varchar2(10) ) insert into Ab values (1,'A'); insert into Ab values (2,'b'); insert into Ab values (3,'C'); insert into Ab values (4,'d'); insert into Ab values (5,'E'); insert into Ab values (6,'f'); select * from Ab;

create table Ac( id number(5), name varchar2(10) ); insert into Ac values (1,'A'); insert into Ac values (2,'B'); insert into Ac values (3,'C'); insert into Ac values (1,'A'); insert into Ac values (2,'B'); insert into Ac values (3,'C'); select * from Ac;

Aa表和Ab表的左连接,保留join左边的全部数据;
select * from Aa a left join Ab b on a.id=b.id;

Aa表和Ac表的左连接,保留join左边的全部数据加上重复的数据;
select * from Aa a left join Ac c on a.id=c.id;

左连接里面如果使用and筛选和用where筛选的区别:
select * from Aa a left join Ab b on a.id=b.id and b.id in(1,2,3)

and保留join左边的所有数据;
select * from Aa a left join Ab b on a.id=b.id where b.id in(1,2,3)

where只保留相同部分的数据;

本文介绍了如何在Oracle SQL中进行表Aa、Ab和Ac的左连接操作,展示了Aa与Ab的全左连接及Aa与Ac的重复数据连接,并比较了and与where筛选条件在左连接中的区别。重点讲解了SQL查询在数据处理中的应用和关联表操作实践。
656

被折叠的 条评论
为什么被折叠?



