如何查询A表中aa字段的值,哪些在或不在B表中bb字段中

lytone52 2018-04-08 01:35:14
A表中有一字段aa,B表中有一字段bb。其中aa字段有19000个值,而bb字段有30000个值。是想查询一下aa的哪个值在 或 不在 bb的值范围中。
用这条语句 select * from A where aa in (select bb from B),显示有9000条记录。但是用 select * from A where aa not in (select bb from B),则没有记录。

是我哪里写错了吧,如何正确查询,谢谢!!!
...全文
448 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2018-04-08
  • 打赏
  • 举报
回复
SELECT * FROM #taba AS a WHERE NOT EXISTS(
	SELECT 1 FROM #tabb AS b WHERE a.id=b.id
)
借用雨亭的数据
听雨停了 2018-04-08
  • 打赏
  • 举报
回复

--测试数据
CREATE TABLE #taba(
id VARCHAR(20)
)
INSERT INTO #taba
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT 'd' UNION ALL
SELECT NULL

CREATE TABLE #tabb(
id VARCHAR(20)
)
INSERT INTO #tabb
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT 'c' UNION ALL
SELECT NULL
--测试数据结束


select * from #taba where id in (select id from #tabb)
select * from #taba where id not in (select id from #tabb)

select * from #taba where isnull(id,'') not in (select isnull(id,'') from #tabb)

lytone52 2018-04-08
  • 打赏
  • 举报
回复
感谢楼上两位!
二月十六 版主 2018-04-08
  • 打赏
  • 举报
回复
aa 字段是不是有null值?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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