查询语句1
         union all
      查询语句2  
返回两个结果集的并集,保留所有纪录,不排序查询语句1
         union all
      查询语句2
         union
      查询语句3返回三个结果集的并集,去掉重复纪录,排序

解决方案 »

  1.   

    实际上查询语句1
             union all
          查询语句2
             union
          查询语句3

    查询语句1
             union
          查询语句2
             union
          查询语句3的效果是一样的。
      

  2.   

    建议楼主还是不要用猜的,看看执行计划就一清二楚了多说一点:
    因为union在内部处理是集合处理,而union all则只是行处理
    所以在这里如果用到all的话,需要看all放在第一个union还是第二个union
    如果放到第二个union的话,会对第一个union操作也当作union all操作俩进行处理
      

  3.   

    to zmgowin(隐者(龙祖宗)) 
    不好意思,执行计划在哪看?谢谢.
      

  4.   

    用pl/sql developer就有哪个功能
    会自动创建需要的表。
      

  5.   

    union会合并重复记当,而UNION ALL不会