Oracle中对两个数据表交集的查询(intersect和in)
来源:互联网 发布:霍启山 章子怡 知乎 编辑:程序博客网 时间:2024/04/30 01:30
Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法。
下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高、使用方便。
第一种方法:利用操作符intersect
intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同。
举例说明:
表A的数据结构:
中文名称字段名类型长度学号 codeC 4姓名 nameC 8
表B的数据结构:
中文名称 字段名 类型 长度学号 Student_code C 4姓名 Student_nameC 8分数 scoreN 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操作符查询的结果
where A.code in
(select student_code from B)
and A.name in
(select student_name from B)
order by A.code;
查询结果如图2所示。
图2使用in子句查询的结果
以上为笔者使用oracle7.3的体会,如有不当之处,请不吝赐教。
下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高、使用方便。
第一种方法:利用操作符intersect
intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同。
举例说明:
表A的数据结构:
中文名称字段名类型长度学号 codeC 4姓名 nameC 8
表B的数据结构:
中文名称 字段名 类型 长度学号 Student_code C 4姓名 Student_nameC 8分数 scoreN 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操作符查询的结果
第二种方法: in子句
in子句可以在子查询中为where子句计算所得的值创建一个列表。这种方法与前一种方法有所不同的是,前一种方法比较多列但只使用一个intersect就行了,而一个in子句用来比较两个子查询的一列,比较几列就要使用几个in子句。下面举例说明如何取得两个查询的交集。
仍以A和B两张数据表为例,在oracle中运行以下查询,图2显示了这个查询的结果:
where A.code in
(select student_code from B)
and A.name in
(select student_name from B)
order by A.code;
查询结果如图2所示。
图2使用in子句查询的结果
以上为笔者使用oracle7.3的体会,如有不当之处,请不吝赐教。
0 0
- Oracle中对两个数据表交集的查询(intersect和in)
- Oracle中对两个数据表交集的查询(intersect和in)
- Oracle中对两个数据表交集的查询
- Oracle中对两个数据表交集的查询
- intersect--求两个集合的交集
- INTERSECT 两个单独的sql取交集
- Oracle取两条记录的交集INTERSECT
- 两个有用的oracle数据库运算:intersect和minus运算
- 两个有用的oracle数据库运算:intersect和minus运算
- ORACLE中Union,Intersect和Minus的等价连接查询SQL写法
- oracle 中两个数据表间的拷贝
- Oracle 取两个表中数据的交集
- oracle中sql语句中多个查询结果的交集、差集和并集
- Oracle中union、union all、minus和intersect的区别
- JavaScript 中求出两个数组的交集和差集
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- 两个有用Oracle运算:intersect和minus运算
- 基于SPRING构建J2EE框架
- iOS开发UI篇—UIScrollView控件实现图片轮播
- 在模拟器上运行一个64bit linux kernel(aarch64)
- Android OpenGL ES 2.0绘图:绘制纹理
- 我儿沈Feng以此特记我的博客之始
- Oracle中对两个数据表交集的查询(intersect和in)
- 文章标题
- 串口显示乱码的原因总结
- onInterceptTouchEvent()的机制
- 解决ListView中有Button类而失去点击事件的问题
- 3G拨号获取不到IP--No network protocols running
- 大学
- IOS_月薪10k以上知识大总结
- 工业相机分类