有两个表gsju 和sbqiye,我想根据两表中共有的字段:dwmc 查询出gsju表中存在于sbqiye里的记录和不在里面的记录,结果用
select * from gsju
where dwmc in
(select dwmc
from sbqiye)
查出有gsju表有552条记录在sbqiye表里面,而我想查gsju表中不存在于sbqiye表中的记录时,在in前面加了not 却也没有查出来
有人说这是因为没有查出来的记录来null字符,我怎么把这样的记录给了来,再如何处理掉这些不正常的字符呢
------解决方案--------------------
这是两表共有的数据,适合2005及以上版本
select dwmc
from gsju
intersect
select dwmc
from sbqiye
------解决方案--------------------
这是在gsju表但是不在sbqiye表的数据
select dwmc
from gsju
except
select dwmc
from sbqiye
------解决方案--------------------
改成这样试试:
select * from gsju
where dwmc not in
(select dwmc
from sbqiye where dwmc is not null)