oracle minus使用

minus返回在第一个查询结果中与第二个查询结果不相同的那部分记录,minus的作用简单来说是对第一个表去同留异。

表A、表B,表A和表B有交集,我们要取表A中去掉交集后的所有记录。也就是下图中单独画红线的部分。

例如:
表t111内值为1、2、3,表t222内值为3、4。以t111为基表使用minus之后返回结果是:1、2。

代码:

drop table t111;
drop table t222;

create table t111
(
id varchar2(2)
);

create table t222
(
id varchar2(2)
);

insert into t111 values ('1');
insert into t111 values ('2');
insert into t111 values ('3');

insert into t222 values ('3');
insert into t222 values ('4');

(select * from t111)
MINUS
(select * from t222);

执行结果:

ID
----------
1
2

参考资料:
http://bbs.csdn.net/topics/270003462
http://www.cnblogs.com/chshnan/archive/2011/11/14/2248731.html
http://hi.baidu.com/wangzhiqing99/item/8281bae7c251bf2c6cabb82b