• oracle集合操作


    概述

    union , intersect , minus

    示意图

    • union 会排序(第一列的结果进行升序排序,下同)、去重
    • union all 不排序、不去重
    • intersect 排序、去重
    • minus 排序、去重

    说明

    1. 集合操作的的对象,类型、列数必须匹配;
    2. order by 只能放在最后,可以按第一个语名的列名、别名、列号进行排序;
    3. 无优先级之分,从上到下执行;

    例子

    
    create table employees
    (
      employee_id number(8) not null,
      first_name varchar2(20) ,
      last_name varchar2(25) not null,
      email varchar2(25) ,
      phone_number varchar2(20),
      hire_date date not null,
      job_id varchar2(10),
      salary number(8,2),
      commission_pct number(2,2),
      manager_id number(6),
      department_id number(4)
    );
    
    
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1000,100,20000,'Stone',sysdate -200);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1001,101,20000,'Strange',sysdate -100);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1002,101,9000,'Atlas',sysdate -100);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1003,102,9000,'Farley',sysdate -200);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1004,102,9000,'Lake',sysdate -200);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1005,102,9000,'Lance',sysdate -200);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (1006,100,9000,'Zoo',sysdate -200);
    insert into employees(employee_id,manager_id,salary,last_name,hire_date) values (100,null,80000,'Val',sysdate -100);
    
    select t.* from employees t;
    
    select last_name, manager_id, hire_date, salary from employees
        where manager_id = 100
    union
    select last_name, manager_id, hire_date, salary from employees
        where hire_date > sysdate - 180
    intersect
    select last_name, manager_id, hire_date, salary from employees
    where salary > 10000
    
    rollback;
    ;
    
  • 相关阅读:
    删除datatable的重复行
    导出大Excel
    winform调用plugin
    System.AppDomain.CurrentDomain.BaseDirectory总是取得根目录
    能不能多想一点呢?
    执行语句使用exec (sql)
    open the folder
    取得一个表的所有字段
    快讯:麦考林第四季度净利110万美元同比减62%
    麦考林第四季度净利110万美元同比减62%(图解)
  • 原文地址:https://www.cnblogs.com/hyang0/p/10593575.html
Copyright © 2020-2023  润新知