Oracle Minus查询

时间:2014-04-13 07:50:27

标签: sql oracle oracle11g plsqldeveloper

我对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

1 个答案:

答案 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作为结果。