Oracle数据库查询两个表中差异值

 时间:2026-02-15 10:31:21

1、首先我们确认在B表中是存在(T00008)这样一个数据记录的。

SELECT * FROM G_SN_STATUS B WHERE SERIAL_NUMBER='T0008'

Oracle数据库查询两个表中差异值

2、再次我们查询A表中,发现不存在(T00008T)这个值得记录。

SELECT * FROM G_SN_KEYPARTS A WHERE ITEM_PART_SN='T0008'

Oracle数据库查询两个表中差异值

3、T0008在A表中对应的字段是:ITEM_PART_SN 在B表中对应的字段是SERIAL_NUMBER .

Oracle数据库查询两个表中差异值

Oracle数据库查询两个表中差异值

4、这时我们利用ORACLE 数据库的 <MINUS>来实现两个表相同字段的差异部分----即在表B中存在而不存在于表A。

SELECT B.SERIAL_NUMBER FROM G_SN_STATUS B 

MINUS

SELECT A.SERIAL_NUMBER FROM G_SN_KEYPARTS A

Oracle数据库查询两个表中差异值

5、上例中由于是测试数据库,资料量比较少,才查出63笔资料,如果是大数据的时候,我们往往需要加上一些条件,这样会更快速(稍加条件后,资料变少了)。

SELECT B.SERIAL_NUMBER FROM G_SN_STATUS B WHERE IN_PROCESS_TIME>to_date('2016-03-01 00:00:00','yyyy-mm-dd HH24:mi:ss')

MINUS

SELECT A.SERIAL_NUMBER FROM G_SN_KEYPARTS A

Oracle数据库查询两个表中差异值

6、以上只是示范 MINUS的用法,若数据量大,请自行加上筛选条件,避免查询数据量过大,造成不必要的损失。

Oracle数据库查询两个表中差异值

  • 打印机扫描文件到电脑提示找不到路径的解决办法
  • 局域网访问提示:“登陆失败:用户账户限制…
  • ORA-01748: only simple column解决办法
  • win10定时任务怎么打开
  • Edge浏览器如何导入谷歌浏览器保存的密码?
  • 热门搜索
    咪蒙事件是怎么回事 怎么查养老保险缴费情况 衣服上的机油怎么洗掉 豇怎么读 宝宝感冒怎么办 烫伤起泡怎么处理 籍贯怎么填写才规范 安徽歙县怎么读 旧电脑怎么处理 调研报告怎么写