oracle 查询两张表合并,oracle的多表合并查询-工作心得

这篇博客介绍了Oracle数据库中多表合并查询的四种方法:UNION ALL、UNION、Intersect和MINUS,并通过实际SQL示例展示了如何使用它们。作者分享了在工作中遇到的需求,如何通过SQL查询合并基金信息和基金网站数据,最后提醒了对合并查询结果进行排序的技巧。
摘要由CSDN通过智能技术生成

刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多表合并查询的用法

select t.* from A t

UNION ALL/UNION/Intersect/MINUS

select s.* from B s;

UNION ALL

4280f14ce9c7b7ce9a165a28d51b52a7.png

使用UNION ALL,表示取A、B的合集,不过滤重复的数据行

UNION

85f6454a85331d988366b02d0b7d11a5.png

使用UNION,会将结果集A和结果集B进行UNION ALL运算,然后取两者交集的余集作为结果集

Intersect

3ce9d189f2ef57ed6ae68e7974e6548c.png

使用Intersect,会将结果集A和结果集B进行UNION ALL运算,然后两者之间的集交集作为结果集和UNION刚好相反

MINUS

9869315d52bc6610d1e507450fab67fe.png

使用MINUS,取结果集A减去结果集B留下的差集,注:如果结果集A小于等于结果集B,返回空结果集.

好啦,下面进入实战阶段,我就直接将我写的SQL贴出来吧

select a.*

from (select t.c_fund_account_name as "fundAccountNo", --基金账号

tfp.project_code as "projectCode", --项目编号

tfp.project_name as "projectName", --项目名称

tfp.project_shortname as "projectShortName", --项目简称

c.c_fund_name as "fundName", --基金产品名称

c.c_fund_code as "fundCode", --基金产品代码

nvl(thold.subsistAssetsShare, 0) as "subsisAssetsShare", --份额(家族)

to_char(thold.updateDate, 'yyyy-MM-dd') as "updateDate", --日期

nvl(c.c_current_share, 0) as "currentShare", --份额(基金网站)

to_char(c.d_date, 'y

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值