高手进来解释下

jiao3630 2011-02-25 03:45:45


--1
SELECT [MT1] FROM tba where [MT1] not in(SELECT [手机] FROM tbb)--结果673条

--2
SELECT [MT1] FROM tba where [MT1] in(SELECT [手机] FROM tbb)--结果0条


这2个语句查出来的结果之和是不是 应该等于 tba的数据总和
可是事实上tba 有24000条数据 么有重复的

谁能告诉我这是怎么回事
我用的sql2008
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuam 2011-02-25
  • 打赏
  • 举报
回复
--1
SELECT [MT1] FROM tba where [MT1] not in(SELECT isnull([手机],'') FROM tbb
--2
SELECT [MT1] FROM tba where [MT1] in(SELECT isnull([手机],'') FROM tbb
jiao3630 2011-02-25
  • 打赏
  • 举报
回复
好了 纠结了 我半天 结贴了 谢谢
AcHerat 2011-02-25
  • 打赏
  • 举报
回复

--1
SELECT [MT1] FROM tba where [MT1] not in(SELECT isnull([手机],'') FROM tbb)--结果673条

--2
SELECT [MT1] FROM tba where [MT1] in(SELECT isnull([手机],'') FROM tbb)--结果0条
AcHerat 2011-02-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 roy_88 的回复:]

SELECT * FROM tbb where [手机] is null--存在null會出現
[/Quote]

确实,看看tbb有 手机 字段有空值存在没!
中国风 2011-02-25
  • 打赏
  • 举报
回复
有null時改用 exists

select * from tba where not exists(select 1 from tbb where [手机]=tba.[手机])
or
select * from tba where exists(select 1 from tbb where [手机]=tba.[手机])
中国风 2011-02-25
  • 打赏
  • 举报
回复
SELECT * FROM tbb where [手机] is null--存在null會出現

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧