有两个表
A(ESN_NO,MAKER, HANDSET, MODEL, FLAG, OFFER, STATUS, STATUS_UPDATEd_date) ,
B(ESN_NO,MAKER, HANDSET, MODEL, FLAG, OFFER, STATUS, STATUS_UPDATEd_date)
我需要将bau_load
表中的数据添加到omh_esn_model_details_new
表中而不重复。
我在A表中添加了80,000行。
然后看到我使用IN运算符的公共esn_no
;这是查询:
select count(*)
from A
where esn_no in (select esn_no from B);
计数为74,000 ---因此大约有6000个esn_no
但是当我使用NOT IN运算符时:
select count(*)
from B
where esn_no not in (select esn_no from A);
计数为0
select count(*)
from A
where esn_no not in (select esn_no from B);
计数为0
当我使用此查询时
select count(*)
from A
where esn_no not in (select esn_no
from A
where esn_no in (select esn_no from B));
计数为6000
所以,我想知道为什么当我使用NOT IN运算符时我没有返回6000?