`

oracle集合操作函数

阅读更多
集合操作符专门用于合并多条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 from emp;

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

select CUSTOMERNUMBER,DZMC,CREATETIME,LASTSENDTIME from userinfo hsu1,(select hsu.customerid,hsu.nameareainfoid from
userinfo hsu where hsu.ispackage=0 and hsu.SUBSTATUS=0
and hsu.createtime<to_date('2010-03-05','yyyy-MM-dd')
MINUS
select distinct hbr.customerid,hbr.nameid from revmagazineinfo hbr
where hbr.SENDTIME<to_date('2010-03-05','yyyy-MM-dd')
)temp
where hsu1.ISPACKAGE=0 and hsu1.customerid=temp.customerid
and hsu1.nameareainfoid=temp.nameareainfoid and hsu1.SUBSTATUS=0 and hsu1.createtime<to_date('2010-03-05','yyyy-MM-dd')

SELECT *
FROM (SELECT hsu.customerid,
               hsu.customernumber,
               hsu.MAGAZINEID,
               hsu.nameareainfoid
          FROM userinfo hsu
         WHERE hsu.ispackage = 0
           AND (hsu.substatus = 0 OR hsu.substatus = 3)
           AND hsu.nameareainfoid IN
               (SELECT DISTINCT mi.nameid
                  FROM magazineinfo mi
                 WHERE mi.pubtime < SYSDATE
                   AND mi.status = 1)
           and not exists
         (select 1
                  from revmagazineinfo hbr
                 where hbr.customerid = hsu.customerid
                   and hbr.nameid = hsu.nameareainfoid))

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 ;//合并后列名显示以前一个表为主。
分享到:
评论

相关推荐

    Oracle集合操作函数union、intersect、minus.docx

    Oracle 集合操作函数 union、intersect、minus Oracle 集合操作函数是用于合并多条 SELECT 语句的结果的函数,包括 UNION、INTERSECT、MINUS 等。这些函数可以将多个查询结果合并成一个结果集,以便进一步处理和...

    Oracle高级操作函数学习笔记

    Oracle数据库作为一个强大的关系型数据库管理系统,提供了多种高级操作函数来支持复杂的数据处理。以下是从标题、描述和部分内容中提取的Oracle高级操作函数的知识点。 ### 分支判断函数 #### DECODE函数 DECODE...

    Oracle字符相似度函数

    这个函数基于Jaccard相似度计算,它衡量的是两个集合交集的大小与并集的大小的比率。在Oracle中,SIMILARITY()通常用于CLOB类型的字段,比较两个文本字符串的相似度。它的返回值范围在0到1之间,1表示完全相同,0...

    ORACLE常用日期函数集合

    ### ORACLE常用日期函数集合详解 #### 一、概述 在Oracle数据库中,日期处理是一项非常重要的功能。本文将详细介绍一些常用的Oracle日期函数及其应用场景,帮助数据库管理员或开发者更好地理解和运用这些函数,以...

    Oracle中实现Split函数功能

    同时,这个函数也可以与其他 Oracle 函数和操作符结合使用,以实现更加复杂的数据处理任务。 在实际应用中,Oracle 中实现 Split 函数功能可以用于各种数据处理场景,例如数据清洁、数据转换和数据分析等。例如,在...

    oracle数据库函数大全集合

    Oracle 数据库函数大全集合 Oracle 数据库函数大全集合是一个非常全面的函数集合,包含了多种常用的函数,以下是对每个函数的详细介绍: 1.ASCII 函数 ASCII 函数返回与指定的字符对应的十进制数。例如,SQL&gt; ...

    oracle 10G函数大全(中文)

    - 集合函数:如COUNT、SUM、AVG、MAX、MIN,用于对一组值进行统计计算。 2. **系统信息函数**: - DBMS_METADATA获取数据库对象的元数据信息,如DDL语句。 - USERENV提供关于当前会话的信息,如用户、服务器、...

    oracle 10g函数大全.

    6. **集合函数**: - `COUNT(*)`: 统计行数。 - `SUM(column)`: 求列的总和。 - `AVG(column)`: 计算列的平均值。 - `MAX(column)` 和 `MIN(column)`: 找到列的最大值和最小值。 7. **分组和聚合函数**: - `...

    SQLServer和Oracle的常用函数对比

    在数据库管理领域,SQLServer与Oracle作为两大主流的数据库管理系统,各自拥有丰富的内置函数,用于数据处理、查询优化以及各种复杂的数据操作需求。本文将基于给定文件信息,深入探讨和对比SQLServer与Oracle中的...

    oracle split函数

    在Oracle数据库中,并没有内置的split函数来处理字符串的分割操作。然而,在实际应用中,经常需要将一个包含多个值的字符串按照指定的分隔符进行拆分,转换为表格式的数据,以便进行进一步的处理或查询。为此,可以...

    oracle常用字符函数

    Oracle数据库系统提供了丰富的函数库,包括字符函数、日期函数、数据类型转换函数以及集合函数,以帮助用户在处理数据时实现各种复杂的操作。下面将详细解释这些函数的用途和使用方法。 1. **字符函数** - `LOWER...

    Oracle常用函数集合

    以下是对"Oracle常用函数集合"的详细解析: 1. **数值函数**:Oracle提供了多种处理数字的函数,如`ROUND()`用于四舍五入,`TRUNC()`用于截断小数,`MOD()`计算余数,`DECODE()`用于条件判断,以及`POWER()`和`SQRT...

    ORACLE函数大全与整理

    6. 集合函数:如COUNT()计算数量,AVG()求平均值,MAX()和MIN()找出最大最小值。 7. 模式匹配函数:LIKE和REGEXP_LIKE()用于模式匹配和正则表达式匹配。 8. 连接函数:如CONCAT()用于连接字符串,||操作符也可实现...

    Oracle拆分字符串,字符串分割的函数

    在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...

    ORACLE分析函数大全

    Oracle分析函数是数据库管理系统Oracle中的一个强大特性,它允许用户在SQL查询中执行复杂的分析操作。分析函数在处理报表和数据迁移任务时尤其有用,因为它们可以基于分组计算聚合值,并为每个分组返回多行,而不...

    ORACLE_分析函数大全

    分析函数的关键在于“窗口”或“框架”的概念,窗口定义了在计算中要考虑的行的集合。窗口可以按照行号顺序、特定列的排序或者范围来定义,这使得分析函数能够灵活地处理动态范围的数据。 在提供的内容中,提到了几...

    Oracle sql 函数大全 比较常用的一些 函数 整理

    Oracle SQL 函数大全是指在 Oracle 数据库管理系统中用于处理和操作数据的函数集合。本文将对 Oracle SQL 函数大全进行分类和讲解,涵盖字符串函数、字符转换函数、去空格函数、取子串函数、字符串比较函数、字符串...

    Java调用oracle函数返回oracle类(类似)集合

    在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...

    oracle常用函数chm版

    "Oracle常用函数chm版"是一个集合了多种Oracle数据库常用函数的参考资源,主要包含以下几个方面: 1. **数值型函数**:这类函数主要用于处理整数、浮点数等数值类型的数据。例如,`ROUND`函数用于四舍五入,`TRUNC`...

Global site tag (gtag.js) - Google Analytics