Oracle对两个数据表交集的查询_oracle

正在看的ORACLE教程是:Oracle对两个数据表交集的查询。
Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法。

  下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高、使用方便。

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

  intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同。

  举例说明:

  表A的数据结构:

  表B的数据结构:

  表A的数据为:

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

  表B的数据为:

  ('1101 ','韩甲',99),('1102 ','丁乙',89),('1103 ','徐静',94)

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

[NextPage] 第二种方法: in子句

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

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

  查询结果如图2所示。

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

上一页    

时间: 2024-10-11 20:05:02

Oracle对两个数据表交集的查询_oracle的相关文章

Oracle中对两个数据表交集的查询

oracle|数据 Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大.灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法. 下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高.使用方便. 第一种方法:利用操作符intersect intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同.

javaee-java菜鸟请问下,两个数据表连接查询问题

问题描述 java菜鸟请问下,两个数据表连接查询问题 hql="select t.id,t.name,p.lname,t.beizhu,t.human,t.city,t.lrr,t.lrtime,t.modtime,t.address from CrmCustomer t, CrmCustomerLxr p where t.tend='已成单' and p.lname like '%" + lname + "%' and t.id=p.customerid "; S

Oracle 数据表分区的策略_oracle

正在看的ORACLE教程是:Oracle 数据表分区的策略.本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现. Oracle虽然是一个大型的DBMS,但如果不对记录比较多的表进行处理,仍然发挥不了Oracle管理大型数据的强大功能,因此对某些表进行分区,具有如下优点:  分区表中每个分区可以在逻辑上认为是一个独立的对象:  可以在一个表中的一个或多个分区上进行如删

Oracle数据表分区的策略_oracle

正在看的ORACLE教程是:Oracle数据表分区的策略.本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现. Oracle虽然是一个大型的DBMS,但如果不对记录比较多的表进行处理,仍然发挥不了Oracle管理大型数据的强大功能,因此对某些表进行分区,具有如下优点: 分区表中每个分区可以在逻辑上认为是一个独立的对象: 可以在一个表中的一个或多个分区上进行如删除.移

Oracle 创建用户及数据表的方法_oracle

一.概念 1. 数据库 (Database) 什么是数据库? 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合.这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增.删.改和检索由统一软件进行管理和控制.从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的. 什么是数据库系统? 数据库系统是一个实际可运行的存储.维护和应用系统提供数据的软件系统,是存储介质.处理对象和管理系统的集合体.它通常由

asp.net中同时查询两个数据库表进行联合查询

最近被问道了一个问题,就是如何对两个数据库里面的表进行联合查询. 后来我就用了最笨的方法实现了.希望看到的朋友能给个好的解决方法,只用一个连接字符串.最好是给个详细的教程.   首先有这样的两个数据库,每个数据库中有两个表. 表里面的数据也很简单,就是学生表和专业表,用专业号关联. 下面就在Winfrom的DataGridView上绑定数据,显示学生的编号.姓名.年龄和专业.效果如下: 由于对数据的操作我用到了linq to dataset 所以项目的.net 版本为3.5以上. 下面就是绑定数

在Oracle的函数中,返回表类型的语句_oracle

Oracle的function中怎么返回表变量? 太晚了,过多的理论知识就不说了,下面简单地说实现吧!.. 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: 复制代码 代码如下: create or replace type t_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先定义一个对象类型.然后把对象类型替换上面语句中的number: 定义对象类型: 复制代码 代码如

急求从两张数据表中抽取个别列,查询后组合成一张新表,如何做?

问题描述 A表包含字段ABCDB表包含EFC表字段ABCDEF从winform上查询完A表和B表的数据之后,选择某条A和某条B点击按钮生成一条新的C表数据如何操作代码怎么样 解决方案 解决方案二:数据库可以直接做,也可以用linq解决方案三:可以写一个类C,包含ABCDEF属性,然后选中A表中的字段,给C的ABCD赋值,选中B表,赋值EF,然后增加到C表中~解决方案四:获取选择的A与B对象,拼接insertsql语句,inserttableC(A,B,C......)Values(A.A,A.B

数据结构与算法分析:计算两个有序表交集并集

<数据结构与算法分析,C语言描述> 表,栈与队列部分课后习题. Just a test,记录. outPut: Array No.1:2 4 5 7 10 23 Array No.2:3 4 7 13 22 30 Sum intersection:2 4 7 Sum union section:10 2 3 4 5 7 10 13 22 23 30 Code: //Code by Pnig0s1992 //Date:2012,3,22 #include <stdio.h> #inc