• oracle 的 union union all intersect minus用法(转)


    集合操作有 并,交,差 3种运算。 
    
     union :得到两个查询结果的并集,并且自动去掉重复行。不会排序 
    
     union all:得到两个查询结果的并集,不会去掉重复行。也不会排序 
    
     intersect:得到两个查询结果的交集,并且按照结果集的第一个列进行排序 
    
     minus:得到两个查询结果的减集,以第一列进行排序 
    
    例子: 
    
      下面是两个表:一个主修课程表,一个选修课程表。 
    
    这个是主修课程表:minors 
    
         create table minors( 
             minor_id number primary key, 
             minor_name varchar2(30) not null, 
             credit_hour number(2) 
          ) 
    
    插入3条记录:                
    
          insert into minors values(10101,'计算机原理',4) 
          insert into minors values(10201,'自动控制原理',3) 
          insert into minors values(10301,'工程制图原理',4) 
    
    下面创建选修课程表minors2 
    
           create table minors2( 
             minor_id number primary key, 
             minor_name varchar2(30) not null, 
             credit_hour number(2) 
           ) 
    
    插入两条记录: 
            insert into minors2 values(10201,'自动控制原理',3) 
           insert into minors2 values(10301,'工程制图原理',4)   
    
    
    (1)
    两个表使用union all:得到如下结果 
    
            select minor_id,minor_name,credit_hour from minors union all 
           select minor_id,minor_name,credit_hour from minors2 order by     credit_hour 
    
    结果: 
        
    MINOR_ID MINOR_NAME                     CREDIT_HOUR 
    ---------- ------------------------------ ----------- 
         10201 自动控制原理                             3 
         10201 自动控制原理                             3 
         10101 计算机原理                               4 
         10301 工程制图原理                             4 
         10301 工程制图原理                             4 
    
    
    
    (2)
    两个表使用union :得到如下结果 
    
    select minor_id,minor_name,credit_hour from minors union 
        select minor_id,minor_name,credit_hour from minors2 order by credit_hour 
    
    结果: 
    
    MINOR_ID MINOR_NAME                     CREDIT_HOUR 
    ---------- ------------------------------ ----------- 
         10201 自动控制原理                             3 
         10101 计算机原理                               4 
         10301 工程制图原理                             4 
    
    
    
    (3)
    两个表使用intersect :得到如下结果 
    
         select minor_id,minor_name,credit_hour from minors intersect 
        select minor_id,minor_name,credit_hour from minors2 
    
    结果: 
    
    MINOR_ID MINOR_NAME                     CREDIT_HOUR 
    ---------- ------------------------------ ----------- 
         10201 自动控制原理                             3 
         10301 工程制图原理                             4 
    
    
    
    (4)
    两个表使用minus :得到如下结果 
    
        select minor_id,minor_name,credit_hour from minors minus 
        select minor_id,minor_name,credit_hour from minors2 
    
    结果: 
    
    MINOR_ID MINOR_NAME                     CREDIT_HOUR 
    ---------- ------------------------------ ----------- 
         10101 计算机原理                               4 
    
    来自:http://www.douban.com/note/154030850/
  • 相关阅读:
    POJ1785 Binary Search Heap Construction
    Bzoj1185 [HNOI2007]最小矩形覆盖
    POJ2409 Let it Bead
    Bzoj2732 [HNOI2012]射箭
    Bzoj4515 [Sdoi2016]游戏
    Bzoj3925 [Zjoi2015]地震后的幻想乡
    Bzoj3223 Tyvj 1729 文艺平衡树
    COGS2642 / Bzoj4590 [Shoi2015]自动刷题机
    Bzoj1313 [HAOI2008]下落的圆盘
    python——描述符
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/2083394.html
Copyright © 2020-2023  润新知