广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-04-25 21:46:31 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布
    正在看的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的体会,如有不当之处,请不吝赐教。

    上一页    

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告