Oracle对两个数据表交集的查询
程序员文章站
2023-11-21 20:06:16
正在看的oracle教程是:oracle对两个数据表交集的查询。oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用o...
正在看的oracle教程是:oracle对两个数据表交集的查询。
in子句可以在子查询中为where子句计算所得的值创建一个列表。这种方法与前一种方法有所不同的是,前一种方法比较多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面举例说明如何取得两个查询的交集。
仍以a和b两张数据表为例,在oracle中运行以下查询,图2显示了这个查询的结果:
查询结果如图2所示。
以上为笔者使用oracle7.3的体会,如有不当之处,请不吝赐教。
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的体会,如有不当之处,请不吝赐教。
上一页
推荐阅读
-
Oracle对两个数据表交集的查询
-
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字怎么解决?
-
Oracle生成查询包含指定字段名对应的所有数据表记录语句
-
解析oracle对select加锁的方法以及锁的查询
-
oracle 查询两个字段值相同的记录
-
sql 查询 一张表里面的数据 在另一张表中是否存在 和 比对两个集合中的差集和交集(原创)
-
sqlserver和oracle中对datetime进行条件查询的一点区别小结
-
oracle数据库中对字符串的查询长度、某字符所在位置操作讲解
-
Oracle对两个数据表交集的查询
-
简单说明Oracle数据库中对死锁的查询及解决方法