- 浏览: 45530 次
- 性别:
- 来自: 大连
最新评论
集合操作符专门用于合并多条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 ;//合并后列名显示以前一个表为主
集合操作符具有以下注意事项:
* 集合操作符不适用于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性能优化
2010-12-02 17:55 0T -
将Sequence统一加100000
2010-12-01 10:46 744select 'alter sequence ' || t1. ... -
Oracle 事件跟踪
2010-11-19 16:15 1163--查询30分钟前的数据select * from t as ... -
查询表属于的库和用户
2010-11-19 11:44 784select * from user_tables t whe ... -
创建返回值为自定义表的函数
2010-11-17 13:22 971CREATE OR REPLACE FUNCTION 函数名( ... -
找回被删除的数据
2010-11-12 17:00 739利用 delete from chg_number; 时 找 ... -
oracle 行转列
2010-10-11 17:29 782select '{' || d.il1_id || '}{' ... -
从dual表中查询返回多行记录
2010-10-11 17:28 4340select * from dual connect by 0 ... -
查找数据库锁
2010-10-11 17:19 607SELECT /*+ rule */ lpad( ... -
【转载】记录被锁解锁方法
2010-09-25 19:56 814今天,在使用update更新一条记录时,怎么都更新不了,一直处 ... -
【转载】110个常用函数整理汇总
2010-09-25 19:55 9771. ASCII 返回与指定的字符对应的十进制数; SQL& ... -
【转载】学习之Dual表
2010-09-25 19:49 728最近在使用Oracle时遇到一个特殊的表Dual。想必了解Or ... -
【转载】job简介
2010-09-25 19:48 730步骤如下: 1、创建一张表g_test create ta ... -
【转载】 错误一览表
2010-09-25 19:45 1062ORA-00001: 违反唯一约束 ... -
【转】临时表 优化查询速度
2010-09-25 19:42 6511、前言 目前所有使用Oracle作为数据库支撑平台 ... -
【转载】权限
2010-09-25 19:34 675一、概述 这一部分我 ... -
【转载】索引
2010-09-25 19:33 1016一、概述 索引是用于加速数据存取数据对象,合理的使用索引可 ... -
【转载】约束
2010-09-25 19:32 662一、维护数据的完整性 概述:数据的完整性用于确保数据库数据 ... -
【转载】数据库管理
2010-09-25 19:31 625一、数据库管理员 概述:每个Oracle数据库应该至少有一名 ... -
【转载】函数的使用
2010-09-25 19:24 570一、字符函数 介绍:字符函数是Oracle中最常用的函数,我们 ...
相关推荐
PHP函数大全是一个集合了众多PHP内置函数的参考文档,涵盖了从基础到高级的各种用途的函数。这个大全由天酷女性时尚网(www.tiancool.com)整理发布,并且要求在转载时注明出处。以下是一些主要类别的PHP函数的详细...
`OVER (PARTITION BY ...)` 的主要作用是定义一个分区集合,即对数据进行分组,然后在每个分区内执行相应的操作。例如,在以下示例中,我们根据 `class` 进行分区,并对每个分区内的 `s` 进行排名: ```sql SELECT ...
jQuery本质上就是用javascript代码写成的各种方法的集合。但是javascript本身不是已经提供了各种各样的方法和功能了吗?为什么还要再另外写一个库出来呢?原因其实很好猜,那肯定是我们要写的这个库比javascript提供...
6. **文件操作**:学习如何使用Input#、Output#进行文件读写,掌握Open、Close、WriteLine、ReadLine等文件操作函数。 7. **数据库访问**:介绍ADO(ActiveX Data Objects)组件,包括连接数据库、执行SQL语句、...
Python 核心编程 ... 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_38566632/article/details/140246866
【描述】中的"事例集合1(转载)"表明这些内容可能来源于网络,可能是某个开发者或教育者收集并整理的Java编程实例,目的是帮助学习者通过实际操作来理解Java编程。而"看韩剧www.pigkrtv.com"这部分看起来像是无关的...
如果所有哈希函数对应的位都是1,则认为该元素可能存在于集合中。需要注意的是,Bloom Filter可能会出现误报的情况,即某个不在集合中的元素被判定为存在,但永远不会发生漏报(即真正存在的元素被错误地判断为不...
在Linux操作系统中,`select`系统调用是一个非常重要的I/O多路复用机制,它允许程序同时监控多个文件描述符(file descriptor,简称句柄)的状态变化,以便在任何句柄准备好进行读写操作时能够及时响应。这篇文章将...
文件标题和描述中提到的“SQL语句大全”指的是一个包含多种SQL命令和用法的集合,旨在为数据库用户和开发者提供全面的参考资料。这个大全可能包括了数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)...
封装是将数据和操作这些数据的方法绑定在一起,形成一个独立的单元。继承允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码复用。多态则允许不同的对象对同一消息作出不同的响应。 2. foreach遍历...
数组是由具有相同类型的数据元素组成的有序集合。数组可以用来存储多个类型相同的数据,以解决一批相关数据的存储问题。数组名是用来表示数组的标识,其实它是数组的首地址,即一个指针。 静态建立数组 静态建立...
GLTools库包含了类似C语言风格的函数集合,它简化了OpenGL的许多操作。文件中提到的`GLTools.h`包含了大量简化OpenGL编程的函数,这些函数能够使程序员更加专注于图形渲染逻辑,而不是底层的细节。 4. **GLBatch类*...
【JavaScript】JavaScript面试通常涉及DOM操作、BOM处理、异步编程(如回调函数、Promise、async/await)、闭包、原型链、事件循环机制等。面试官可能会要求编写实际的代码示例,以评估你的实战能力。 【Struts】...
例如,`dojo.html`模块提供了一系列处理HTML内容的函数,如`dojo.html.getContentBox()`,而`dojo.dnd`模块则包含了用于HTML拖放操作的相关类。 Dojo的模块和包管理机制允许按需加载,这在优化性能和减小网络传输量...
例如,`<c:if>`用于条件判断,`<c:forEach>`用于循环遍历集合,`<c:import>`用于导入外部资源,`<c:set>`用于设置变量等。 2. **XML标签库**: 这个库提供了处理XML文档的能力,如解析、查询和操作XML数据。其中,`...
4. **集合框架**:Java集合框架包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)。熟练掌握它们的操作,如添加、删除、遍历以及查找元素,可以大大提高代码效率。 5. *...
6. **聚合函数** - 计数 ```sql SELECT COUNT(*) AS total_count FROM table_name; ``` - 求和 ```sql SELECT SUM(column1) AS sum_value FROM table_name; ``` - 平均值 ```sql SELECT AVG(column1) AS ...
如果当前处于中断服务程序(ISR)中,则不能调用此函数,因为挂起任务的操作不能在ISR中执行。 3. 检查μC/OS-II内核是否已被锁定,若被锁定,则不能进行任务调度操作。 4. 确保事件组是有效且正确的类型。 5. ...