Oracle - 如何将多张表中的列合并到一张表中

本文详细介绍了如何在Oracle数据库中使用全连接(full join)查询,通过具体的emp和dept表实例,展示了如何结合两表信息,即使某些记录无法匹配也能完整查询结果。全连接能有效整合不同表的数据,为数据分析提供全面视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

一.问题回顾

在这里插入图片描述

我们目前有表A和表B,两个表分别有一列,我们想查询出来的结果如表C,它同时包含了表A和表B的列;

二.解决方案

为了测试方便,我们直接使用Oracle数据库的scott用户下的表emp和表dept;

表emp:

select rownum as rn1, t.* from scott.emp t

在这里插入图片描述

表dept:

select rownum as rn2, t.* from scott.dept t

在这里插入图片描述

with a as
 (select rownum as rn1, t.* from scott.emp t),
b as
 (select rownum as rn2, t.* from scott.dept t)
select a.*, b.* from a full join b on a.rn1 = b.rn2

在这里插入图片描述

三.归纳总结

大家可以发现,我们使用full join (全连接)来实现我们的需求;

3.1 基本语法

full join ... on ...

3.2 结果

全连接的查询结果是左外连接和右外连接的并集,即使一些记录关联不上,也能够把信息查询出来;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值