minus 是 oracle 数据库中的一个关键字,用来取两个结果集的差集。
举个栗子:第一个结果集有 1,2,3,4,5,第二个结果集有 4,5,6,7。前者减后者得 1,2,3,后者减前者得 6,7。
minus 有去重作用,会对减完的结果集去重。还是上面的栗子,如果第一个结果集有两个 1,那取差集后只能得到一个 1。
但是我实际的需求是不想要去重,该怎么办呢?找到了两个方法,如下:
一、用 not exists
改不了 minus 关键字,那就只能用其他的关键字来实现类似的效果了。
not exists 是可以很简单、很方便实现 minus 的差集效果的
栗子:有表数据如下

效果如下:
minus |
![]() |
not exists |

本文探讨在Oracle数据库中如何使用not exists和left join来实现`MINUS`操作的不去重效果。当`MINUS`操作默认去除重复项时,通过示例展示了not exists和left join方法如何保留重复项,特别是在需要保留特定列值或数据序号时的应用场景。


5825

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



