养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

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

时间:2024-10-25 13:21:03

在数据日常管理和维护过程中,常会需要去查询一些在表A中存在的值而在表B中又不存在的部分。在刚遇见问题的时候,我也头痛苦恼的好些时间,因为这样的问题对一个新手来说确实比较棘手,下面,小编将举例为你分享一种快速处理的办法。

工具/原料

电脑数据库工具

方法/步骤

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

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

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

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

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

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

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

4、这时我们利用ORAC雉搽妤粲LE数据库的<MINUS>来实现两个表相同字段的差异部分----即在表B中存在而不存在于表A。SELECTB.SER朐袁噙岿IAL_NUMBERFROMG_SN_STATUSBMINUSSELECTA.SERIAL_NUMBERFROMG_SN_KEYPARTSA

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

5、上例中由于是测试数据库水貔藻疽,资料量比较少,才查出63笔资料,如果是大数据的时候,我们往往需要加上一些条件,这样会更快速(稍加条围泠惶底件后,资料变少了)。SELECTB.SERIAL_NUMBERFROMG_SN_STATUSBWHEREIN_PROCESS_TIME>to_date('2016-03-0100:00:00','yyyy-mm-ddHH24:mi:ss')MINUSSELECTA.SERIAL_NUMBERFROMG_SN_KEYPARTSA

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

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

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

© 一点知识