Oracle中对两个数据表交集的查询
2005-03-18 08:41
429 查看
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)
第二种方法: in子句
in子句可以在子查询中为where子句计算所得的值创建一个列表。这种方法与前一种方法有所不同的是,前一种方法比较多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面举例说明如何取得两个查询的交集。
仍以A和B两张数据表为例,在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;
下面向大家介绍使用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)
第二种方法: in子句
in子句可以在子查询中为where子句计算所得的值创建一个列表。这种方法与前一种方法有所不同的是,前一种方法比较多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面举例说明如何取得两个查询的交集。
仍以A和B两张数据表为例,在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;
相关文章推荐
- Oracle对两个数据表交集的查询
- Oracle中对两个数据表交集的查询(intersect和in)
- Oracle中对两个数据表交集的查询
- Oracle对两个数据表交集的查询
- Oracle中对两个数据表交集的查询(intersect和in)
- 查询Oracle中两个字段间的数据(date类型)
- Oracle 取两个表中数据的交集并集差异集合
- Oracle 取两个表中数据的交集
- Oracle 取两个表中数据的交集并集差异集合
- Oracle 取两个表中数据的交集并集差异集合
- 多表查询内连接与外连接的区别;多表之间内连接;(常用)(只连接两个表都有效数据); 多表之间的外连接:(查询所有的内容); 多表内连接:(显示和隐式结果是一样的,得到的是交集的部分)
- ORACLE 数据查询集合即:查询结果的集合操作 并集 交集 差集
- Mysql Oracle sqlserver 数据分页查询语句
- ORACLE SQL: 从一个表中查询数据插入另一个表中
- Oracle编写简单的查询语句,以及限制数据和对数据的排序
- oracle:查询数据表是否存在
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
- oracle查询重复数据与删除重复记录方法
- Oracle查询数据表结构(字段,类型,大小,备注)
- Oracle查询前几条数据的方法