在数据日常管理和维护过程中,常会需要去查询一些在表A中存在的值而在表B中又不存在的部分。在刚遇见问题的时候,我也头痛苦恼的好些时间,因为这样的问题对一个新手来说确实比较棘手,下面,小编将举例为你分享一种快速处理的办法。
工具/原料
电脑 数据库工具
方法/步骤
1
首先我们确认在B表中是存在(T00008)这样一个数据记录的。SELECT * FROM G_SN_STATUS B WHERE SERIAL_NUMBER='T0008'
2
再次我们查询A表中,发现不存在(T00008T)这个值得记录。SELECT * FROM G_SN_KEYPARTS A WHERE ITEM_PART_SN='T0008'
3
T0008在A表中对应的字段是:ITEM_PART_SN 在B表中对应的字段是SERIAL_NUMBER .
4
这时我们利用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')MINUSSELECT A.SERIAL_NUMBER FROM G_SN_KEYPARTS A
6
以上只是示范 MINUS的用法,若数据量大,请自行加上筛选条件,避免查询数据量过大,造成不必要的损失。
注意事项
大数据查询时注意加上合适的条件。