oracle关系型管理系统是世界上流行的关系,它是一个极其强悍、灵活和复杂的系统,据说,在使用oracle时应有这样的观念,那就是在sql中近乎可以推动任何一种想法。

下面向你们介绍使用sql查两个oracle数据表查询的同样数据的方式,笔者感到这两种方式执行强度高、使用便于。

第一种方法:利用操作符intersect

intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数目跟数据类别需要完全相同。

举例说明:

表a的数据结构:

中文名称字段名类型长度学号 codec 4姓名 namec 8

表b的数据结构:

中文名称 字段名 类型 长度学号 student_code c 4姓名 student_namec 8分数 scoren 3

表a的数据为:

(1101 ,韩甲),(1102 ,丁乙)

表b的数据为:

(1101oracle 交集,韩甲,ArrayArray),(1102 ,丁乙,8Array),(1103 ,徐静,Array4)

在oracle中运行以下查询,图1显示了这个查询的结果:

sql>select code, name from a

intersect

select student_code,student_name from b;

图1使用intersect操作符查询的结果

第二种方法: in子句

in子句可以在子查询中为where子句计算所得的值建立一个列表。这种方式与前一种方法有所不同的是,前一种方法非常多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面例子表明怎样获得两个查询的交集。

仍以a和b两张数据表为例oracle 交集,在oracle中运行以下查询,图2显示了这个查询的结果:

sql>select code,name from a

where a.code in

(select student_code from b)

and a.name in

(select student_name from b)

order by a.code;

查询结果如图2所示。

图2使用in子句查询的结果

以上为笔者使用oracle7.3的体会,如有不当之处,请不吝赐教。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shumachanpin/article-138676-1.html

oracle查询多张表交集,Oracle中对两个数据表交集的查询-专栏,ORACLE相关推荐

  1. access查询两列信息合并输出_如何在Access中合并两个数据表中的数据

    当我们使用Access处理数据时,我们经常需要合并具有相同表结构的两个数据记录.那么如何实现这一功能呢?以下编辑愿与您分享. 工具/材料 Access 操作方法 打开Access软件,新建两个数据表. ...

  2. oracle两表交集查询,Oracle对两个数据表交集的查询

    正在看的ORACLE教程是:Oracle对两个数据表交集的查询. Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大.灵活和复杂的系统,据说,在使用oracle时应有这样的思想 ...

  3. 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表

    在以上创建的商品表中插入一条数据:名称为"学生书包".价格18.91.库存101.描述为空 在图书表中新增一条记录:Java核心技术.作者"Cay S. Horstman ...

  4. oracle批量更新数据从另一表_【案例】Oracle t-sql 更新大批量数据 更新两张大数据表案例...

    天萃荷净 t-sql 更新大批量数据,有两张很大的表,写了一个存储过程处理(加工数据然后插入到一张新表中),因为一次性处理数据量很大,会导致tempdb等资源被耗尽,为了解决这个问题,每次输入两个参数 ...

  5. 案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境 SQL> select count( ...

  6. oracle dul误删数据,案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表...

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境SQL> select count(* ...

  7. mysql查询两张表的同一列_如何快速查找两个数据表之间的相同和不同?

    原标题:如何快速查找两个数据表之间的相同和不同? 知识 随笔 案例 声音 其他 编者按 工作中经常会遇到对来源不同的数据进行比对,查找相同.不同.差异性等.过于复杂的需求,我们通常会转换思路,使用数据 ...

  8. mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案

    [单选题]( )的上海文坛被称为"张爱玲年". [多选题]下列哪些是属于共集放大电路的特点?() [阅读理解]Passage Two Thailand is to ban smok ...

  9. matlab把某一列作为x轴,excel表格怎么把某一列数据作为x轴-EXCEL表中的两列数据怎样作为X轴和Y轴放在图表里...

    excel表格制作坐标图,如何设定某列(数据直接非线... 只能邦你一半.x轴调整我会,生成图表--图表上方右键--选择数据--水平(分类)标签编辑,点进去,选择你要作为X轴的数据区域,即可. 使用e ...

最新文章

  1. [置顶] 我的GB28181标准开发里程碑——基于eXosip的IPC端与SPVMN注册成功
  2. 读《程序员的SQL金典》[4]--SQL调优
  3. Navicat中怎样将SQLServer的表复制到MySql中
  4. c语言怎么输出线性表里元素,C语言的世界-线性表
  5. C语言中指针的初始化和赋值
  6. php 查文件sha1 内存不足,SHA是否足以检查文件重复? (PHP中的sha1_file)
  7. python 描述器 详解_深入解析Python中的descriptor描述器的作用及用法
  8. jquery dropload
  9. 在修改redis配置文件的情况下启动redis需指定配置文件
  10. 编程语言的宗教狂热和十字军东征 (转)
  11. freemark导出word全过程 + 图片不显示问题
  12. 华清远见22071作业端口指令实现灯点亮
  13. zoj2100-Seeding
  14. 用STRAIGHT_JOIN优化mysql的执行速度
  15. Abaqus 沙漏模式
  16. (转) Java多线程学习(吐血超详细总结)
  17. JS:Slasher Flick(截断数组)
  18. java手机分辨率最高_主流手机分辨率 尺寸 操作系统
  19. 在线教育是否能完美结合直播授课与短视频呢?
  20. 足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!

热门文章

  1. h3c 虚拟服务器 下一跳,H3C vLNS系列虚拟L2TP网络服务器 配置指导-E0324-5W100
  2. 数据结构摧毁线性表用c语言,[简述]数据结构-线性表(c语言实现)
  3. centos查看是否安装了某个软件
  4. c# 静态构造函数与私有构造函数共存
  5. jenkins发送邮件
  6. thinkphp5.0自定义验证器
  7. ECMAScript6 模版字符串
  8. BeginInvoke之前检测句柄
  9. Get 和 Post方法的登录
  10. CWnd的派生类-3、CDialog类