Oracle集合操作函数:union、intersect、minus

【转】Oracle集合操作函数:union、intersect、minus

集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS。当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配。

集合操作符具有以下注意事项:

  • 集合操作符不适用于LOB、VARRAY和嵌套表列。
  • UNION、INTERSECT、MINUS操作符不使用于 LONG列。
  • 如果选择列表中包含有表达式或者函数,那么必须为表达式或者函数定义列别名。

1、UNION (无重并集):当执行UNION 时,自动去掉结果集中的重复行,并以第一列的结果进行升序排序。

2、UNION ALL (有重并集):不去掉重复行,并且不对结果集进行排序。

3、INTERSECT  (交集):取两个结果集的交集,并且以第一列的结果进行升序排列。

select   id,name,job  from worker 
      INTERSECT
      select  empno,ename,job  fromemp;

4、MINUS  (差集):只显示在第一个集合中存在,在第二个集合中不存在的数据。并且以第一列的结果进行升序排序。

5、另外,可以使用order by

order  by 必须放在最后一条select 语句之后,当列名相同时,可以直接用列名排序,如果不同可以用位置排序,也可以使用别名使其相同。

select  id, name  x from new_emp 
    union all  
    select  empno, ename  x from emp order by x;//列名不同时使用别名排序

select  id, name  ename from new_emp 
   union all  
   select  empno, ename  from emp order by ename;//列名不同时使用别名使其相同后排序

select  id, name  ename from new_emp 
   union all
   select  empno,ename  from emp;//合并后列名显示以前一个表为主。

时间: 2024-10-07 04:07:02

Oracle集合操作函数:union、intersect、minus的相关文章

【转】Oracle集合操作函数:union、intersect、minus

集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS.当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配. 集合操作符具有以下注意事项: 集合操作符不适用于LOB.VARRAY和嵌套表列. UNION.INTERSECT.MINUS操作符不使用于 LONG列. 如果选择列表中包含有表达式或者函数,那么必须为表达式或者函数定义列别名. 1.UNION (无重并集):当执行UNION 时,自动去掉结果集中的重复行,并以

Oracle集合操作函数:Union、Union All、Intersect、Minus

Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序: Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序. 找出第一条SQL查询的不在第二条SQL语句查询结果中的那些记录 比not exists, not in 性能高 可以在最后一个结果集中指定Order by子句改变排序方式.

oracle之集合操作函数---minus、union、intersect

集合操作符专门用于合并多条select语句的结果,包括:UNION,UNION ALL,INTERSECT,MINUS.当使用集合操作函数时,需保证数据集的字段数据类型和数目一致. 使用集合操作符需要注意: 集合操作符不适用于log.varray和嵌套列表. union.interesect和minus操作不可作用于long列. 如果选择列中包含有表达式或者函数,那么必须为表达式或者函数定义列别名. 1.UNION 当使用union时,自动过滤到数据集中重复的列,并以第一列的结果进行升序排序.

好程序员大数据学习路线分享Scala系列之集合操作函数

好程序员大数据学习路线继续为大家分享Scala系列之集合操作函数4.6 集合的重要函数4.6.1sum/max/min/count在序列中查找最大或最小值是一个极常见的需求,如下:val numbers = Seq(11, 2, 5, 1, 6, 3, 9) numbers.max //11 numbers.min //1 更高级的例子,其中包含一个书的序列case class Book(title: String, pages: Int) val books = Seq( Book("Futu

Oracle clob 操作函数

1 instr(objClob,objstr,beginIndex,appearIndex)objClob:带检索目对象,可以是clob,stringobjstr: 需要验证的字符串beginIndex: 开始检索位置,默认从1开始appearIndex: 出现的位置,默认为1select instr('bbbbbbbbbabbbba','a') from dual;Oracle clob 操作函数,布布扣,bubuko.com

mongo的runCommand与集合操作函数的关系

除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0.6 一:单纯的主从关系 按照我们多年的mvc经验,所有的方法的调用都应该遵循一个从上到下的关系,没有遇到过dao层调service层的. 所以主观上我们需要确认一个顺序,是runCommand封装了集合操作函数,还是集合操作函数封装了runCommand? 这里我们通过方法的源码来看看(js中所有

Oracle集合操作

集合关键字: 1.UNION:并集,所有的内容都查询,重复的显示一次,默认进行升序排序: 2.UNIONALL:并集,所有的内容都显示,包括重复的,展示内容没有排序: 3.INTERSECT:交集,只显示多个查询中相同的元素部分: 4.MINUS:差集,显示第一个查询中有,第二个查询中没有的元素 例子: 在scott用户下,创建表emp2,该表只包含emp中20部门员工的信息: 代码:create table emp2 as select * fromemp where deptno=20; 先

Oracle 集合操作

在 Oracle 中提供了三种类型集合操作:并(UNION).交(INTERSECT).差(MINUS) · UNION:将多个查询的结果组合到一个查询结果之中,没有重复内容 · UNION ALL:也是将多个查询结果组合到一个查询之中,但是包含重复值 · INTERSECT:返回多个查询结果中相同的部分 · MINUS:返回两个查询结果的差集

【Oracle学习笔记-5--】集合操作之union,intersect和minus操作

--union并操作 select e.employee_id,e.last_name from hr.employees e where e.last_name like 'C%' union select e.employee_id,e.last_name from hr.employees e where e.last_name like 'S%'; --等价于 select e.employee_id,e.last_name from hr.employees e where e.las