Oracle11g 在oracle为空的情况下相交2个数据

Oracle11g 在oracle为空的情况下相交2个数据,oracle11g,Oracle11g,我有个案子需要支持。 我有数据1和数据2 如果data2有数据=>expect:data1与data2相交 如果data2无数据=>expect:data1 那么,如何在oracle中使用简单sql来实现这一点。可能是这样的: select * from data1 where not exists (select * from data2) union all (select * from data1 intersect select * from data2) ; 欢迎来到SO。在向upv

我有个案子需要支持。 我有数据1和数据2

如果data2有数据=>expect:data1与data2相交

如果data2无数据=>expect:data1


那么,如何在oracle中使用简单sql来实现这一点。

可能是这样的:

select * from data1 where not exists (select * from data2)
union all
(select * from data1 intersect select * from data2)
;

欢迎来到SO。在向upvoter发布问题之前,请先查看一下:为什么?当data2没有数据时,您是希望data1中的所有内容都包含重复项,还是希望data1与相交时一样被消除重复项?我想返回data1,它可以重复,也可以不存储以供共享。没关系