Oracle 取两个表中数据的交集并集差异集合
Oracle 取两个表中数据的交集
关键字: Oracle 取两个表中数据的交集 INTERSECT
Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据
例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集了
|
CODE |
NAME |
GENDER |
| 001 | Tom | M |
| 002 | Jerry | M |
| 003 | Ana | F |
|
CODE |
SALARY |
| 001 | 2800 |
| 002 | 2500 |
| 003 | 3000 |
方法1:利用操作符INTERSECT
INTERSECT 操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同。
SELECT CODE FROM EMPLOYEE WHERE GENDER = 'M'
INTERSECT
SELECT CODE FROM SALARY WHERE SALARY > 2500
第一条SQL的结果为
CODE
----------
001
002
第二条SQL的结果为
CODE
----------
001
003
INTERSECT的结果
CODE
----------
001
方法2:利用关系SQL
SELECT A.CODE FROM EMPLOYEE A, SALARY B
WHERE A.CODE = B.CODE AND A.GENDER = 'M' AND B.SALARY > 2500
结果为
CODE
----------
001
以上两种方法是本人比较常用的方法,尤其第二种,充分体现关系数据的精髓所在。但如果两个表结构比较复杂,而且关系条件也比较难实现的话,第一种显然能够简单地得到需要的结果,也不失为一种好方法。
差异集合: minus
并集,并排除重复记录:union
并集,并包含重复记录:union all
转自:http://blog.sina.com.cn/s/blog_5656bf3e010007cz.html
Oracle 取两个表中数据的交集并集差异集合的更多相关文章
- Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中 ...
- Oracle将两张表的数据插入第三张表且第三张表中不存在
1.由于是先查再插所以不能使用insert into table1() values(), 要使用insert into table1() select * table2,不能使用values. 2. ...
- SQL Server中取两个表的交集,并集和差集
在项目中遇到要取两个表差集的情况 假设有两个表tblNZPostCodes, NZPostcode 两个表中存储的都是新西兰的post code信息,字段一致,只是数据上有所差异. 1. Union ...
- 解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据
我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据.好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动 ...
- 学习日记3、投机取巧使两个表的数据同时在一个treeGrid中显示
不多说了直接上代码, $('#List').treegrid({ url: '@Url.Action("GetList")', width: $(window).width() - ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- 关于跨DB增量(增、改)同步两张表的数据小技巧
有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...
- mysql--对行(表中数据)的增删改查
一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插 ...
- 对lua表中数据按一定格式处理,循环
function putStartCard(handCard) function dataDeal(array,a,b,c) cclog("进入datadeal=============== ...
随机推荐
- 【图像算法】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)
图像算法:图像阈值分割 SkySeraph Dec 21st 2010 HQU Email:zgzhaobo@gmail.com QQ:452728574 Latest Modified Da ...
- MYSQL语句中SELECT语句及其子句的执行顺序
SELECT语句的执行的逻辑查询处理步骤:(8)SELECT (9)DISTINCT(11)<TOP_specification> <select_list>(1)FROM & ...
- Eclipse下运行Maven项目提示缺少maven-resources-plugin:2.4.3
将一个手动创建的Maven项目(命令行下可正常运行)导入到Eclipse中,运行时提示这样的错误信息:[ERROR] Plugin org.apache.maven.plugins:maven-res ...
- Finalization
1.what is the main disadvantage of garbage collection? Typically, garbage collection has certain dis ...
- java 字符串函数
string1.equals(string2) 比较字符串 substring()它有两种形式,第一种是:String substring(int startIndex)第二种是:String sub ...
- HeadFirst Jsp 04 (请求和响应作为servlet)
servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...
- URAL1133. Fibonacci Sequence(二分)
1133 刚开始还用记忆化推了下公式 后来发现数是非常大的 二分 然后就是精度错误 中间值会很大 乱七八糟的改 #include <iostream> #include<cstdio ...
- Storm安装与实验
接上一篇Kafka的安装与实验: http://www.cnblogs.com/charlesblc/p/6046023.html 还有再上一篇Flume的安装与实验: http://www.cnbl ...
- android 单词
inflate: 胀, 膨, 通货膨胀, 膨胀系数
- Jquery源码中的Javascript基础知识(二)
接上一篇,jquery源码的这种写法叫做匿名函数自执行 (function( window, undefined ) { // code })( window ); 函数定义了两个参数window和u ...