Oracle 中有两个表(A表,B表),可能A表有的数据B表没有,B表有的数据A表没有.
用Sql查询出A表数据中在B表中没有的数据和B表数据在A表中没有的数据.

解决方案 »

  1.   

    (SELECT * FROM A
    MINUS
    SELECT * FROM B)
    UNION ALL
    (SELECT * FROM A
    MINUS
    SELECT * FROM B)
      

  2.   

    select * from a 
    WHERE ID IN (select id from a minus select id from b)
    UNION
    select * from B 
    WHERE ID IN (select id from B minus select id from A)
      

  3.   

    waterloocsdn兄:(SELECT * FROM A 
    MINUS 
    SELECT * FROM B) 
    UNION ALL 
    (SELECT * FROM B 
    MINUS 
    SELECT * FROM A)
    :)
      

  4.   

    select a.* from a where not exists (select * from b where a.id=b.id)
    exists能利用id上的唯一索引来加快关联速度。