当前位置: 代码迷 >> 综合 >> Oracle数据库两表的交、并、差集
  详细解决方案

Oracle数据库两表的交、并、差集

热度:48   发布时间:2023-09-18 20:18:35.0

一、查询两表交集

关键字: INTERSECT

1、使用intersect关键字

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

例如: 有A、B两表,单独从A表查的数据为 a,b,c,单独从B表查询的数据为b,c,则使用intersect关键字后所取得数据为b,c。

SELECT CODE FROM A WHERE NAME= 'M'
INTERSECT
SELECT CODE FROM B WHERE DEL  =  '0'

2、使用关系(查询交集)

SELECT A.CODE FROM A, B
WHERE A.CODE = B.CODE AND A.NAME= 'M' AND B.DEL= '0

二、查询两表的并集

1、.并集

union/union all运算:将查询的返回组合成一个结果,union合并结果并且将重复的内容取唯一,union all合并结果并且没有过滤重复内容

三、查询两表的差集

1、差集

minus运算:返回在第一个查询结果中与第二个查询结果不相同的那部分行记录。

  相关解决方案