Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据

例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集了

employee

CODE

NAME

GENDER

001

Tom

M

002

Jerry

M

003

Ana

F

salary

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

oracle 多个表取并集,Oracle?取两个表中数据的交集并集差异集合相关推荐

  1. oracle表交集并集,Oracle 取两个表中数据的交集并集差异集合

    Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据 例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集 ...

  2. oracle关联查询取交集,Oracle 取两个表中数据的交集并集差异集合

    Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据 例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集 ...

  3. mysql如何两个表取差集_mysql 查询两张表的差集

    今天在做一个小功能的时候,遇到了需要取两个表的差集,本来可以直接通过两次查表然后通过代码去处理. 由于我个人比较喜欢减少数据库交互,所以在网上查了下关于mysql两个表取差集的方案.但是发现很多的 差 ...

  4. 计算机sql查询同行并集,sql查询两张表的并集union和union all

    使用 union all 和 union 1.新建两张表:student.teacher //学生表 create table student( id int primary key, name va ...

  5. mysql update后可以跟两个表_update后可接两张表吗,

    展开全部 一条update只能修改一张表里的字段,但是可以关联多张表去修改.不知道你用的62616964757a686964616fe58685e5aeb931333365643662是什么数据库. ...

  6. mysql两表查询单个_对两个表进行单个MySQL选择查询是可能的吗?

    是的,有可能.以下是语法-select * from yourTableName1,yourTableName2; 让我们首先创建一个表-mysql> create table DemoTabl ...

  7. mysql 多个表union查询_mysql查询两个表,UNION和where子句

    我有两张桌子. 我这样查询: SELECT * FROM ( Select requester_name,receiver_name from poem_authors_follow_requests ...

  8. mysql 两表拼接_数据库将两张表进行横向连接(拼接成一张表的形式显示)

    将两张没有关联字段的表进行横向连接,在工作中,对于一些报表的显示,需要展示两张没有关联字段的表中的数据,并且横向连接,比如下面两张表的数据: SELECT * FROM STUDENT T; SELE ...

  9. mysql同时查两张表数据库表_sql语句 同时查询两个表

    展开全部 举例说明:某数e5a48de588b662616964757a686964616f31333365653261据库中有3张表分别为:userinfo,dep,sex userinfo(用户信 ...

最新文章

  1. GridView标题行换行之我见 (转)
  2. QIIME 2教程. 01简介和安装 Introduction Install(2020.11开始更新)
  3. Skin设计小组新作品发布—CornflowerBlue
  4. 上升沿_为什么示波器上升时间 Tr=0.35/BW ?
  5. 系统优化怎么做-数据库优化
  6. [羊城杯 2020]Bytecode [UTCTF2020]babymips
  7. ubuntu下修改中文字体
  8. 数据结构与算法 / 二叉搜索树(Binary Search Tree)
  9. 组件库实战 | 用vue3+ts实现全局Header和列表数据渲染ColumnList
  10. IntelliJ IDEA编码设置
  11. CPU是如何处理指令的
  12. android的AIDL的调用
  13. teambition 还是jira_研发管理工具之 Id 比较(Jira/Teambition/TAPD/禅道)
  14. javascript从入门到跑路-----小文的js学习笔记(11)--------字符串以及字符串的常见方法!
  15. NonlinearFactorGraph.h/NonlinearFactorGraph.cpp
  16. numpy和pandas的操作
  17. Android手机目前常见的分辨率
  18. Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决
  19. 数字信号处理 --- 用离散傅里叶变换(循环卷积)实现线性卷积(个人学习笔记)
  20. vue使用addRoutes()方法后,this.$router.options.routes未更新

热门文章

  1. java生成水印_(Java)图片添加水印,生成邀请函
  2. 在Java中玩转时间
  3. 410分计算机学什么专业好,410高分考上东北大学计算机研究生分享复习心得
  4. CSS3新增样式-borderRadius的使用
  5. delete oracle 语句怎么写,Oracle下Delete语句
  6. 2019苹果个人开发者账号申请
  7. 浅析泵站自动化技术的发展趋势
  8. 零基础学 Python爬虫(5):前置准备(四)数据库基础
  9. C语言实现银行贷款的问题(等额本息,等额本金)
  10. shell和shell脚本的区别