Oracle管理

Oracle集合运算

时间:2013/10/25 20:47:11  作者:www.solgle.com  来源:说歌社区  查看:293  评论:0
内容摘要:Oracle8i的集合运算符共有4个(其他版本的没用过,估计只会多,不会少):1. Minus2. Union3. Union All4. Intersectcreate or replace procedure PRC_COLLECT_TEST isvn_count long ...

Oracle8i的集合运算符共有4个(其他版本的没用过,估计只会多,不会少):

1. Minus
2. Union
3. Union All
4. Intersect

create or replace procedure PRC_COLLECT_TEST is

vn_count long :=0;

begin
 select count(1) into vn_count from emp;
  dbms_output.put_line('Rows in table emp is:' || vn_count);

/*minus:只取不重复的记录*/
   select count(1) into vn_count 
                   from (select t.*, t.rowid from emp t
                   minus
                   select s.*, s.rowid from emp s);
   dbms_output.put_line('minus rows in table emp is:' || vn_count);    
               
/*union: 取两个查询记录(去掉重复的)**/
   select count(1)  into vn_count 
                    from (select t.*, t.rowid from emp t
                    union
                    select s.*, s.rowid from emp s);
   dbms_output.put_line('union rows in table emp is:' || vn_count);    
                    
/*union all: 取两个查询所有的记录(包括重复的)**/
   select count(1) into vn_count 
                     from (select t.*, t.rowid from emp t
                     union all
                     select s.*, s.rowid from emp s);
  dbms_output.put_line('union all rows in table emp is:' || vn_count);      
                      
/*intersect: 只取重复的记录(相当于交集吧)*/    
   select count(1)into vn_count 
                      from (select t.*, t.rowid from emp t
                      intersect
                      select s.*, s.rowid from emp s);
                      
   dbms_output.put_line('intersect rows in table emp is:' || vn_count);                        

end PRC_COLLECT_TEST;
/



标签:Oracle集合运算 

solgle.com 版权所有,欢迎分享!!!

相关文章
    相关评论

    暂无评论
     img1 img2 img3 img4 img5 img6 img7 img8 img9 img10
    (0/200) 
    评论者:      验证码:  点击获取验证码
       Copyright © 2013-2028 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
    Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1