打印本文 打印本文 关闭窗口 关闭窗口
Oracle中对两个数据表交集的查询
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1040  更新时间:2009/4/22 21:58:13  文章录入:mintao  责任编辑:mintao

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

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

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

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

  举例说明:

  表A的数据结构:

中文名称 字段名 类型 长度 学号 code C 4 姓名 name C 8
  表B的数据结构:

中文名称 字段名 类型 长度 学号 Student_code C 4 姓名 Student_name C 8 分数 score N 3

  表A的数据为:

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

  表B的数据为:

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

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

SQL>select code, name from A
intersect
select student_code,student_name from B;

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

打印本文 打印本文 关闭窗口 关闭窗口