精华内容
下载资源
问答
  • oracle 交集,15 NN varchar(10) 16); 17insertintotest2 values('test'oracle 交集,'A'); 18insertintotest2 values('test2','B'); 19insertintotest2 values('test2','C'); 20insertintotest2 values('test2','D');...

    88fb3764922607d1729d3dcead42a3dd.png

    oracle 交集,15 NN varchar(10) 16); 17insertintotest2 values('test'oracle 交集,'A'); 18insertintotest2 values('test2','B'); 19insertintotest2 values('test2','C'); 20insertintotest2 values('test2','D'); 21insertintotest2 values('test2','E'); 22 231、交集:intersect 24[sql] 25SQL>select* fromtest1 intersectselect* fromtest2; 26 27NAME NN 28---------- ---------29test A 30 312、并集:union、unionall(注意两者的区?2[sql] 33SQL>select* fromtest1 unionselect* fromtest2; 34 35NAME NN 36---------- ---------37test A 38test1 B 39test1 C 40test1 D 41test1 E42test2 B 43test2 C 44test2 D 45test2 E 46 479 rowsselected。

    3e280157e00b32e9ab6597d726e98a3b.png

    48[sql] 49SQL>select* fromtest1 unionallselect* fromtest2; 50 51NAME NN 52---------- ---------53test A 54test1 B 55test1 C 56test1 D 57test1 E 58test A 59test2 B 60test2 C 61test2 D 62test2 E 63 6410 rowsselected。 65 663、差集:minus 67[sql] 68SQL>select* fromtest1 minus select* fromtest2; 69 70NAME NN 71---------- ---------72test1 B 73test1 C 74test1 D 75test1 E 76 77SQL>select* fromtest2 minus select* fromtest1; 78 79NAME NN 80---------- ---------81test2 B 82test2 C 83test2 D 84test2 E 8586最黑钳用 intersect 效率高呢还是 hash join 效率高呢? 87[sql] 88SQL>select* fromtest1 intersectselect* fromtest2; 89 90 91Execution Plan 92---------------------------------------------------------93Plan hash value: 4290880088 94 95--------------------------------------------------------------------96-------97| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| 98Time | 99--------------------------------------------------------------------10-------0| 0 | SELECTSTATEMENT | | 5 | 140 | 8 (63)| 1000:00:01 | 1| 1 10| INTERSECTION | | | | | 2 | 10| 2 | SORT UNIQUE | | 5 | 70 | 4 (25)| 300:00:01 | 10| 3 | TABLEACCESS FULL| TEST1 | 5 | 70 | 3 (0)| 400:00:01 | 10| 4 | SORT UNIQUE | | 5 | 70 | 4 (25)| 500:00:01 | 10| 5 | TABLEACCESS FULL| TEST2 | 5 | 70 | 3 (0)| 600:00:01 | 10--------------------------------------------------------------------7-------10 8Note 10----9 - dynamicsampling used forthis statement (level=2) 11 0 11Statistics 1---------------------------------------------------------11 0 recursive calls 2 0 db block gets 11 14 consistent gets 3 0 physical reads 11 0 redo size 4 590 bytes sent via SQL*Net toclient11 523 bytes received via SQL*Net fromclient 5 2 SQL*Net roundtrips to/fromclient 11 2 sorts (memory) 6 0 sorts (disk) 11 1 rowsprocessed 7 11 8SQL>selecta。

    55524caa8cde14e6a1cb1ee4b9be3744.png

    * fromtest1 a,test2 b wherea。name=b。nameanda。nn=b。nn; 11 9 12Execution Plan 0---------------------------------------------------------12Plan hash value: 497311279 1 12--------------------------------------------------------------------2------12| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| 3Time | 12--------------------------------------------------------------------4------12| 0 | SELECTSTATEMENT | | 5 | 140 | 7 (15)| 500:00:01 | 12|* 1 | HASH JOIN | | 5 | 140 | 7 (15)| 600:00:01 | 12| 2 | TABLEACCESS FULL| TEST1 | 5 | 70 | 3 (0)| 700:00:01 | 12| 3 | TABLEACCESS FULL| TEST2 | 5 | 70 | 3 (0)| 800:00:01 | 12--------------------------------------------------------------------9------13 0Predicate Information (identified byoperation id): 13--------------------------------------------------1 13 1 - access("A"。

    02e86fd7f402f5bc80ba1e87c9b63d08485bab0d.jpg

    "NAME"="B"。"NAME"AND"A"。"NN"="B"。"NN") 2 13Note 3----13 - dynamicsampling used forthis statement (level=2) 4 13 5Statistics 13---------------------------------------------------------6 0 recursive calls13 7 13 8 13 9 14 0 14 1 14 2 14 3 14 4 14 5 14 6 14 7 14 8 14 9 15 0 15 1 15 2 15 3 15 4 15 5 15 6 15 7 15 80 15 0 0 590 523 2 0 0 1db block gets consistent gets physical reads redo size bytes sent via SQL*Net toclient bytes received via SQL*Net fromclient SQL*Net roundtrips to/fromclient sorts (memory) sorts (disk) rowsprocessed15 9 16 0 16 1 16 2 16 3 16 4

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/shumachanpin/article-138674-1.html

    展开全文
  • oracle中的并集操作

    2021-01-27 11:59:42
    oracle中的并集操作UNIONUNION   ALL oracle并集操作:UNION和UNION ALL UNION union对个结果集进行并集操作,不包括重复行,同时进行默认规则的排序 UNION   ALL union all对个结果集进行并集...

    oracle中的并集操作

    在这里插入图片描述
    oracle的并集操作:UNION和UNION ALL


    UNION

    union对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序
    在这里插入图片描述


    UNION   ALL

    union all对两个结果集进行并集操作,包括重复行,不进行排序
    在这里插入图片描述

    其他集合操作看这个帖子

    展开全文
  • oracle交集,并集,差集

    2014-12-22 11:32:15
    oracle交集,并集,差集 分类: 数据库/ Oracle/ 文章 oracle交集,并集,差集   [sql] create table test1 ( name varchar(10), NN varchar(10) ); insert into test1 ...

    oracle交集,并集,差集

    oracle 交集,并集,差集
     
    [sql] 
    create table test1  
    (  
     name varchar(10),  
     NN varchar(10)  
    );  
    insert into test1 values('test','A');  
    insert into test1 values('test1','B');  
    insert into test1 values('test1','C');  
    insert into test1 values('test1','D');  
    insert into test1 values('test1','E');  
    create table test2  
    (  
     name varchar(10),  
     NN varchar(10)  
    );  
    insert into test2 values('test','A');  
    insert into test2 values('test2','B');  
    insert into test2 values('test2','C');  
    insert into test2 values('test2','D');  
    insert into test2 values('test2','E');  
    
    1、交集:intersect
    [sql] 
    SQL> select * from test1 intersect select * from test2;  
      
    NAME       NN  
    ---------- ----------  
    test       A  
    
    2、并集:union、union all (注意两者的区别)
    [sql] 
    SQL> select * from test1 union select * from test2;  
      
    NAME       NN  
    ---------- ----------  
    test       A  
    test1      B  
    test1      C  
    test1      D  
    test1      E  
    test2      B  
    test2      C  
    test2      D  
    test2      E  
      
    9 rows selected.  
    [sql] 
    SQL> select * from test1 union all select * from test2;  
      
    NAME       NN  
    ---------- ----------  
    test       A  
    test1      B  
    test1      C  
    test1      D  
    test1      E  
    test       A  
    test2      B  
    test2      C  
    test2      D  
    test2      E  
      
    10 rows selected.  
    
    3、差集:minus
    [sql] 
    SQL> select * from test1 minus select * from test2;  
      
    NAME       NN  
    ---------- ----------  
    test1      B  
    test1      C  
    test1      D  
    test1      E  
      
    SQL> select * from test2 minus select * from test1;  
      
    NAME       NN  
    ---------- ----------  
    test2      B  
    test2      C  
    test2      D  
    test2      E  
    
    最后对于求交集用intersect效率高呢还是hash join效率高呢?
    [sql] 
    SQL> select * from test1 intersect select * from test2;  
      
      
    Execution Plan  
    ----------------------------------------------------------  
    Plan hash value: 4290880088  
      
    -----------------------------------------------------------------------------  
    | Id  | Operation           | Name  | Rows  | Bytes | Cost (%CPU)| Time     |  
    -----------------------------------------------------------------------------  
    |   0 | SELECT STATEMENT    |       |     5 |   140 |     8  (63)| 00:00:01 |  
    |   1 |  INTERSECTION       |       |       |       |            |          |  
    |   2 |   SORT UNIQUE       |       |     5 |    70 |     4  (25)| 00:00:01 |  
    |   3 |    TABLE ACCESS FULL| TEST1 |     5 |    70 |     3   (0)| 00:00:01 |  
    |   4 |   SORT UNIQUE       |       |     5 |    70 |     4  (25)| 00:00:01 |  
    |   5 |    TABLE ACCESS FULL| TEST2 |     5 |    70 |     3   (0)| 00:00:01 |  
    -----------------------------------------------------------------------------  
      
    Note  
    -----  
       - dynamic sampling used for this statement (level=2)  
      
      
    Statistics  
    ----------------------------------------------------------  
              0  recursive calls  
              0  db block gets  
             14  consistent gets  
              0  physical reads  
              0  redo size  
            590  bytes sent via SQL*Net to client  
            523  bytes received via SQL*Net from client  
              2  SQL*Net roundtrips to/from client  
              2  sorts (memory)  
              0  sorts (disk)  
              1  rows processed  
      
      
    SQL> select a.* from test1 a,test2 b where a.name=b.name and a.nn=b.nn;  
      
      
    Execution Plan  
    ----------------------------------------------------------  
    Plan hash value: 497311279  
      
    ----------------------------------------------------------------------------  
    | Id  | Operation          | Name  | Rows  | Bytes | Cost (%CPU)| Time     |  
    ----------------------------------------------------------------------------  
    |   0 | SELECT STATEMENT   |       |     5 |   140 |     7  (15)| 00:00:01 |  
    |*  1 |  HASH JOIN         |       |     5 |   140 |     7  (15)| 00:00:01 |  
    |   2 |   TABLE ACCESS FULL| TEST1 |     5 |    70 |     3   (0)| 00:00:01 |  
    |   3 |   TABLE ACCESS FULL| TEST2 |     5 |    70 |     3   (0)| 00:00:01 |  
    ----------------------------------------------------------------------------  
      
    Predicate Information (identified by operation id):  
    ---------------------------------------------------  
      
       1 - access("A"."NAME"="B"."NAME" AND "A"."NN"="B"."NN")  
      
    Note  
    -----  
       - dynamic sampling used for this statement (level=2)  
      
      
    Statistics  
    ----------------------------------------------------------  
              0  recursive calls  
              0  db block gets  
             15  consistent gets  
              0  physical reads  
              0  redo size  
            590  bytes sent via SQL*Net to client  
            523  bytes received via SQL*Net from client  
              2  SQL*Net roundtrips to/from client  
              0  sorts (memory)  
              0  sorts (disk)  
              1  rows processed  
    展开全文
  • oracle 交集和并集

    2017-04-16 17:35:00
    今天研究了一下oracle 交集和并集,下面把我经过查找资料,测试后,整理如下: 1.并集 1: insert into student1 values(1,'学生1'); insert into student1 values(1,'学生2'); insert into student1 values...

    今天研究了一下oracle 交集和并集,下面把我经过查找资料,测试后,整理如下:

    1.并集

     

    表1:

    insert into student1 values(1,'学生1');
    insert into student1 values(1,'学生2');
    insert into student1 values(1,'学生3');

     

    表2:

    insert into student2 values(1,'学生1');
    insert into student2 values(1,'学生4');
    insert into student2 values(1,'学生5');

     

    并集语句:

     

    1. select *from student1  
    2. union all  
    3. select *from student2  
    select *from student1
    union all
    select *from student2


    查后后结果

     

    看到测试结果就明白了,union all对两个结果集进行并集操作,包括重复行,不进行排序。

    如果去掉all 关键字,

     

    1. select *from student1  
    2. union  
    3. select *from student2  
    select *from student1
    union
    select *from student2


     

    看到结果,得出的结论是:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序

     

     

    2.交集

     

    1. select *from student1  
    2. intersect  
    3. select *from student2  
    select *from student1
    intersect
    select *from student2

     

     

    结果为:

     

    是的,返回查询结果中相同的部分即是他们的交集

     

    补充一下:minus 关键字

    查询时候把表1放在前面,

     

    1. select *from student1  
    2. minus  
    3. select *from student2  
    select *from student1
    minus
    select *from student2

     

    结果为:

    查询时候把表2放在前面,

     

    1. select *from student2  
    2. minus  
    3. select *from student1  
    select *from student2
    minus
    select *from student1


    结果为:

     

     

    使用 minus  返回在第一个查询结果中与第二个查询结果不相同的那部分行记录,即两个结果的差集

     

     

     

     

    使用以上查询的结果集有两个最基本的规则:
    (1)所有查询中的列数和列的顺序必须相同。
    (2)数据类型必须兼容

     

     

    转载于:https://www.cnblogs.com/jiazuzhuzhu/p/6719339.html

    展开全文
  • 并集: union :相同数据会进行去重 select 'aa' name from dual union select 'aa' name from dual union select 'bb' name from dual union select 'bb' name from dual union all:相同数据不会进行去重 ...
  • 1.并集的运算 select name from test1 union [all] select name from test2; 使用union时,默认将对结果进行排序,union all则不进行排序操作,所以会消耗更少的资源;然而,union all将不进行去重的...
  • union/union all运算:将查询的返回组合成一个结果, union all不过滤重复。...SELECT product_id FROM order_itemsUNIONSELECT product_id FROM inventories; SELECT location_id...
  • oracle 交集,并集,差集

    2013-08-20 00:38:59
    2、并集:union、union all (注意两者的区别) SQL> select * from test1 union select * from test2; NAME NN ---------- ---------- test A test1 B test1 C test1 D test1 E test2 B test2 C test2 D ...
  • 1.并集:将查询出的个结果合并成一个结果集。 -- union 去重,合并后的结果都是唯一-- union all 不去重,合并后的结果有可能出现重复的select classid from student union select classid from class; ...
  • 1.并集的运算 select name from test1 union [all] select name from test2; 使用union时,默认将对结果进行排序,union all则不进行排序操作,所以会消耗更少的资源;然而,union all将不进行去重的...
  • ]并集: 使用 UNION 运算符组合多个结果 SELECT name,num FROM Table1 UNION SELECT name,num FROM Table2 注意:查询的字段个数必须相同,Table2的字段类型要跟Table1的相同. 如果使用 UNION 运算符...
  • select d.xh,nvl2(t.swjg_bm,'n','y') flag from dm_gy_ybxm d,t_zt_xmzt t where d.xh=t.xmzrm(+) and t.swjg_bm(+)='001584511'
  • 1.并集: 2. 3.使用 UNION 运算符组合多个结果 4.SELECT name,num FROM Table1 5.UNION 6.SELECT name,num FROM Table2 7. 8.注意:查询的字段个数必须相同,Table2的字段类型要跟Table1的相同. 9....
  • Oracle中有并集、交集、差集的3种运算 1. union : 得到个查询结果的并集,并且自动去掉重复行,不会排序。  union all: 得到个查询结果的并集,不会去掉重复行,也不会排序  2. intersect: 得到个查询结果的...
  • 差集 select 1.字段1 from 1 minus select 2.字段1 from 2 交集 select 1.字段1 from 1 intersect select 2.字段1 from 2 并集 select 1....2、union all: 对个结果集进行并集操作,
  • 一、单项选择题(20小题,每题1分,共20分)1、安装oracle数据库过程中SID指的是什么:( B )A.系统标识号 B.数据库名 C.用户名 D.用户口令2、系统中有权利启动和关闭数据库的用户是:(C )。A.hr B.user C.system D....
  • Oracle 并集交集差集

    2018-01-03 14:40:00
    一谈到并集就会用到union以及union all,两者的区别如下:union:对并集操作,不包含重复行,相当于distinct,同时进行默认规则的排序。 默认规则即:按照select后面的查询字段出现的顺序进行排序。union all:...
  • 1、 运算;结构相同(列名、列类型(不限长度))的一列或多列; a) 并集运算;union; b) 交集运算;intersect; 并集和交集运算结果,与先后顺序无关; c) 差集运算;minus; i. a-b; ii. b-a; 1 复制结构;...
  • -- union:求并集,查询tbl1、tbl2的所有key,去重(SELECT key1 FROM tbl1)UNION (SELECT key2 FROM tbl2);-- union all:求并集,查询tbl1、tbl2的所有key,不去重(SELECT key1 FROM tbl1)UNION ALL ...
  • oracle or并集 和and交集

    千次阅读 2018-04-03 16:58:45
    or并集 and交集; 然后串联 合并 但是 AND比OR的优先级高 1.SELECT * FROM cxzjg_across_dept_apply WHERE ( status =’2’OR STATuS= ‘3’) AND user_dept_id=’1005’ ; 2.SELECT * FROM cxzjg_across_dept_...
  • Oracle中数据的交集 关键字: Oracle中数据的交集 INTERSECT Oracle 作为一个大型的关系数据库,日常应用中往往需要提取的交集数据 例如现有如下,要求找出工资2500(不含2500)以上...
  • C、select所属分类,sum(价格) from 产品 where 价格>1000 group by 所属分类 D、select所属分类,sum(价格) from 产品 where max(价格)>1000 group by 所属分类11、在emp中查找名字以G开头的SQL语句是:...
  • ORACLE查询交集、并集

    2017-12-27 10:13:53
    1、查询同时拥有某个字段的所有 select TABLE_NAME from user_tab_columns where COLUMN_NAME='字段1(大写)' intersect select TABLE_NAME from user_tab_columns where COLUMN_NAME='字段2(大写)';...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,726
精华内容 3,490
关键字:

oracle两表并集