informix 中minus和intersect
时间:2010-10-20 来源:marvelyu
日常工作中,我们常需要在数据库中实现如下功能,查询在a表而不再b表的数据,或者既在a表有在b表的数据。
在oracle中前者使用minus,后者使用intersect实现,在informix中没有这样功能,但可以等价:
在a表但不在b表
select * from a
where not exists (
select * from b
where b.col1=a.col1 and b.co2=a.col2 and b.col3=a.col3 and ... and b.colN=a.colN
) 既在a表又在b表 select * from a
where exists (
select * from b
where b.col1=a.col1 and b.col2=a.col2 and b.col3=a.col3 and ... and b.colN=a.colN
)
where not exists (
select * from b
where b.col1=a.col1 and b.co2=a.col2 and b.col3=a.col3 and ... and b.colN=a.colN
) 既在a表又在b表 select * from a
where exists (
select * from b
where b.col1=a.col1 and b.col2=a.col2 and b.col3=a.col3 and ... and b.colN=a.colN
)
相关阅读 更多 +