欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Oracle 排除交集数据 MINUS

Oracle 排除交集数据 MINUS

2025/4/15 11:28:26 来源:https://blog.csdn.net/weixin_41826215/article/details/147176833  浏览:    关键词:Oracle 排除交集数据 MINUS

MINUS 是 Oracle 数据库中的一种集合操作符,用于返回第一个查询结果中存在但第二个查询结果中 不存在 的 唯一行。其核心功能是 排除交集数据,常用于数据差异分析或过滤特定记录

一、核心功能

  1. 排除交集:返回第一个查询结果中 不在第二个查询结果中出现的行

  2. 自动去重:结果集中的每行数据唯一(即使原查询结果有重复)。

  3. 排序输出:默认按第一列升序排序(除非显式指定 ORDER BY)。

 SELECT column1, column2, ... FROM table1
MINUS
SELECT column1, column2, ... FROM table2
[ORDER BY column1, column2, ...];

关键规则

  • 列数与类型匹配:所有 SELECT 语句的列数必须相同,对应列的数据类型必须兼容。

  • 列名以第一个查询为准:最终结果集的列名由第一个 SELECT 语句决定。

 场景 :数据迁移验证

-- 检查旧表中有但新表中缺失的记录
SELECT product_id FROM old_inventory
MINUS
SELECT product_id FROM new_inventory;

二、与相似操作的对比

操作符功能是否去重是否排序
MINUS返回第一个查询存在但第二个查询不存在的行是(默认)
NOT EXISTS通过子查询排除匹配行
LEFT JOIN ... WHERE b.key IS NULL类似 MINUS,但保留左表所有未匹配行

特性说明
功能返回第一个查询中存在但第二个查询中不存在的唯一行。
去重自动去除重复行。
排序默认按第一列升序排序,可通过 ORDER BY 自定义。
性能优化优先使用索引,考虑替代方案(如 NOT EXISTS 或 LEFT JOIN)处理大数据集。
适用场景数据差异分析、排除特定记录、数据完整性验证等。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词