oracle set运算符

来源:互联网 发布:淘宝五金店铺名字大全 编辑:程序博客网 时间:2024/06/02 02:28








--union取两个查询结果的合集 order by 1相当于按第一列,employee_id排,第二列相当于安department_id排
select employee_id, department_id id from empb
union all
select employee_id, department_id from empc order by 1;


--intersect取两个查询结果的交集
select employee_id,department_id id from empb
intersect
select employee_id,department_id from empc order by id;


--minus取两个查询结果的叉集
select employee_id,department_id id from empb
minus
select employee_id,department_id from empc order by id;
--可以通过补同一类型的null值来使其对齐,如下:
select employee_id ,department_id,to_char(null) from employees 
union 
select to_number(null),department_id,department_name from departments order by 2;




select 'study at', 2 a_dumny from dual
union 
select 'i want' ,1 from dual
union 
select 'school', 3 from dual order by 2;
--不显示 为a_dumny的列
column a_dumny noprint;
查询部门的部门号,其中不包括job_id 是‘st_clerck’的部门号;
--方法一
select department_id from departments
where  department_id not in (select department_id from employees where lower(job_id) ='st_clerck');
--方法二
select department_id from departments 
minus 
select department_id from employees where job_id='st_clerck';



--查询所有员工的department_id,department_name,last_name;
select department_id,to_char(null),last_name from employees 
union 
select department_id,department_name,to_char(null) from departments;

0 0
原创粉丝点击