我对Oracle减去查询有问题。如果我的查询是这样的
select col1 from
(select '1' col1 from dual
union
select '2' col1 from dual )
minus
select col1 from
(select '1' col1 from dual
);
结果如预期2。但是如果我在查询1之后放了一个分号,如下所示
select col1 from
(select '1' col1 from dual
union
select '2' col1 from dual );
minus
select col1 from
(select '1' col1 from dual
);
结果是1.任何人都可以解释为什么结果是这样的。我正在使用PL / SQL Developer
答案 0 :(得分:3)
当您在第一次选择后放置分号表示选择已完成,那里有两个分开的选择
first select is:
select col1 from
(select '1' col1 from dual
union
select '2' col1 from dual );
然后返回1 and 2
the second is:
minus
select col1 from
(select '1' col1 from dual
);
minus
这个部分没有任何意义,但是选择可以运行并返回1
您只需从第二部分运行查询,然后查看1
作为结果。