`
lf008
  • 浏览: 66683 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

Oracle——集合运算

阅读更多
准备工作:oracle用户scott下emp表、dept表。
dept表:
select t.deptno from dept t

结果:
deptno
10
20
30
40

emp表:
select t.deptno from emp t

结果:

deptno
10
20
30

oracle集合函数包括:minus,union,union all,intersect。
1.minus:找到两个给定的数值集合之间的差异,意味着找到一个数值集合,其中的元素仅存在于前一个集合中,而不存在于另一个集合中。
exp:

select d.deptno
  from dept d
minus
select e.deptno from emp e


结果:

deptno
40

分析:查相同列名的数据,查出的40,只存在与前一张表,即dept表中。

2.union:union连接查询的两张表中相同列名的数据的并集。
exp:
select d.deptno
  from dept d
union
select e.deptno from emp e

结果:
deptno
10
20
30
40

分析:查出2张表中的并集。

3.union all:union all连接查询两张表中相同列名的所有数据。(与union 不同的是它不去除重复数据)。
exp:
select d.deptno
  from dept d
union all
select e.deptno from emp e group by e.deptno

结果:
deptno
10
20
30
40
10
20
30

分析:查出2张表中所有的值。

4.intersect:查询intersect连接的两张表中相同列名的数据,查出交集的数据。
select d.deptno
  from dept d
intersect
select e.deptno from emp e

结果:
deptno
10
20
30

分析:查出2张表中所有的交集。

5.举个例子说明集合运算的应用:
question:查询出没有员工的那个部门的部门编号和部门名称.
(1).平常做法:
select d.deptno 部门编号, d.dname 部门名称
  from dept d
 where d.deptno not in (select distinct (e.deptno) from emp e)


(2).使用minus做法:
select t.deptno 部门编号, t.dname 部门名称
  from dept t
 where t.deptno in (select d.deptno
                      from dept d
                    minus
                    select e.deptno from emp e)

结果:(一样)
部门编号部门名称
40OPERATIONS
分享到:
评论

相关推荐

    数据库——的集合运算

    集合运算是数据库查询中的一种重要操作,它允许将两个或多个SQL查询的结果集进行并集、交集和差集的运算。在数据库的查询语言中,如SQL(Structured Query Language),集合运算符用于对查询结果集进行组合或比较,...

    数据库——关系运算.ppt

    4. **并运算(Union)**、**差运算(Difference)**、**交运算(Intersection)**和**笛卡尔积(Cartesian Product)**:这些是集合运算,用于合并或比较两个关系。并运算返回两个关系中所有不重复的元组,差运算...

    oracle考试试题及答案.pdf

    4. 关系代数中五种基本运算是并、差、选择、投影、连接 —— 错误(F),应为选择、投影、并、差、笛卡尔积 5. Oracle进程就是服务器进程 —— 错误(F),Oracle进程包括服务器进程和服务进程 6. SGA是所有用户进程...

    高职学院数据库原理教学探讨——如何用SQL语句实现关系代数的运算.pdf

    第三,关系代数的并运算(∪)在逻辑上等同于集合论中的并集,即合并两个关系中的元组。在SQL中,关系代数的并运算对应于UNION或UNION ALL语句。UNION操作会自动去除重复的元组,而UNION ALL则保留所有元组。 第四...

    Mysql+Oracle函数文档

    这里,我们主要探讨的是它们的函数用法,通过提供的文档资源——"MySQL_5.1_zh.chm" 和 "oracle函数大全(分类显示).chm",我们可以深入了解这两个数据库系统的函数功能和应用场景。 首先,MySQL 是一款开源、免费的...

    韩顺平玩转oracle视频的文档

    - **数学函数**:如`ROUND`、`TRUNC`等数学运算。 - **日期函数**:如`SYSDATE`、`ADD_MONTHS`等日期时间操作。 - **转换函数**:如`TO_CHAR`、`TO_DATE`等数据类型转换。 - **系统函数**:如`USERENV`等获取系统...

    Oracle图文笔记

    5. **算术操作:** 列名支持加减乘除运算。 - 示例: `SELECT 列名1 + 列名2 FROM 表名;` —— 计算两列的和。 6. **空值处理:** 使用 `NVL` 函数处理空值。 - 示例: `SELECT NVL(列名, 替换值) FROM 表名;` —— ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    4.3.2 集合运算中的空值行为 110 4.3.3 空值与GROUP BY和ORDER BY 112 4.3.4 空值与聚合函数 114 4.4 小结 114 第5章 关于问题 116 5.1 问出好的问题 116 5.2 提问的目的 117 5.3 问题的种类 117 5.4 关于...

    Oracle自定义聚集函数使用

    对于权限位运算的例子,这可能涉及到将新的权限位与当前的聚集状态进行位与运算,从而维护一个累积的权限位集合。这个函数同样需要返回一个状态码,表明操作是否成功。 ### ODCIAggregateMerge - 合并操作 当在...

    ORACLE__SQL.pdf SQL.Cookbook.pdf

    1. **查询技巧**:提供解决特定查询问题的“食谱”,如聚合函数、窗口函数、集合运算和联接策略。 2. **数据清洗**:处理缺失值、异常值和重复数据的方法。 3. **数据转换**:如何通过SQL进行数据整理,如计算新列...

    Oracle索引技术 ((美)Darl Kuhn) 中文.pdf

    位图索引则更适合于数据值有大量重复值的情况,如分类数据的索引,它使用位图的集合来表示数据值,可以进行快速的集合运算。 2. B-tree索引:B-tree索引是一种平衡树结构,其中的数据按关键字顺序存储,这样可以...

    数据分析核心知识点总结 —— SQL.pdf

    - 集合运算:UNION、INTERSECT、EXCEPT等。 - 子查询:在查询语句中嵌套其他查询。 **三、视图** 视图是基于查询的虚拟表,提供了一种数据抽象方式,可以简化数据访问,提高安全性。 1. **创建、修改、删除...

    57个易语言支持库——非常全面了

    "57个易语言支持库——非常全面了"这个资源集合,显然包含了丰富多样的易语言扩展库,这些支持库极大地扩展了易语言的功能,使得开发者可以更高效地实现各种复杂功能。 易语言支持库,通常包含了各种模块和函数,...

    Oracle数据库10g:新的SQL和PLSQL功能.pptx

    2. **本地数值结构**:Oracle 10g引入了两个新的浮点数据类型——`BINARY_FLOAT`和`BINARY_DOUBLE`,它们遵循IEEE 754标准,提供更快的硬件加速和更小的存储需求。这使得在处理浮点运算时,性能可提升5到10倍,且...

    收获不知Oracle

    上篇 开启惊喜之门——带意识地学Oracle 第1章意识,少做事从学习开始 2 1.1 选择先学什么颇有学问 2 1.1.1 梁老师课堂爆笑开场 2 1.1.2 看似跑题的手机分类 4 1.1.3 学什么先了解做什么 5 1.2 善于规划分类才有...

    Oracle_Database10g_性能调整与优化-第10章_使用PLSQL提高性能

    ### Oracle Database 10g 性能调整与优化——使用PL/SQL提高性能 #### 1. 使用 DBMS_APPLICATION_INFO 进行实时监控 DBMS_APPLICATION_INFO 包为用户提供了一个强大的机制来交换环境中执行处理的时间点信息。通过...

    福建省电力公司oracle培训教材--PLSQL语言篇.pptx

    【Oracle入门——PL/SQL语言篇】 Oracle数据库系统是全球广泛使用的数据库管理系统之一,而PL/SQL(Procedural Language/SQL)是Oracle特有的一种编程语言,它结合了SQL的查询能力与过程化编程语言的特点,使得...

    oracle基础知识

    - **默认用户**:安装完成后,默认有两个用户——SYS和SYSTEM,分别拥有不同的权限等级。 - **登录与维护**:对于日常维护工作,使用SYSTEM用户通常就足够了。 ##### 2.2 Oracle的卸载 卸载Oracle数据库通常涉及到...

Global site tag (gtag.js) - Google Analytics