“,”、“natural join”、“natural left outer join”、“natural right outer join”的用法总结
“,”:代表笛卡尔积;
“natural join”:代表自然连接,即同名列等值连接;
“natural left outer join”:表示左外连接;
“natural right outer join”:表示右外连接。
注意:以下的写法在Oracle中都是不正确的。
1.r1 join r2
2.r1 inner join r2
3.r1 left outer join r2(如果要用左外连接,需要加natural关键字或者后面加on做条件筛选,否则,语法错误)
4.r1 right outer join r2(道理同上)
同时,需要注意:natural join 和 natural inner join是一样的。因为自然连接默认就是内连。
接下来,看代码示例:
1.建表,插入数据:
drop table relation2; drop table relation1; create table relation1( id number(10) not null, r1_col1 varchar2(50), r1_col2 varchar2(50), primary key (id) ); create table relation2( id number(10) not null, r2_col1 varchar2(50), r2_col2 varchar2(50), primary key (id) ); insert into relation1 values(1,'A1','A2'); insert into relation1 values(2,'B1','B2'); insert into relation1 values(3,'C1','C2'); insert into relation1 values(4,'D1','D2'); insert into relation1 values(5,'N1','N2'); insert into relation1 values(6,'M1','M2'); ----------------------------------------------- insert into relation2 values(1,'E1','E2'); insert into relation2 values(2,'F1','F2'); insert into relation2 values(3,'G1','G2'); insert into relation2 values(4,'H1','H2'); insert into relation2 values(7,'X1','X2'); insert into relation2 values(8,'Y1','Y2');
插入的结果:
relation1:
relation2:
2.查询
select * from relation1,relation2;--笛卡尔积
总共36条记录。行号为37是因为第一条记录从第二行开始。
select * from relation1 natural join relation2;--自然连接(默认内连)
select * from relation1 natural inner join relation2;--自然连接(显式内连)
select * from relation1 natural left outer join relation2;--自然左外连接
select * from relation1 natural right outer join relation2;--自然右外连接
Zhihong Fu
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!