SQL SERVER 2008 的问题

nimeide1234567890 2015-01-27 04:07:49
SQL SERVER 2008的数据库

a表
sNO
1001
1002
1003
...
1010

b表
sNO status
1001 0
1002 0
1003 0

结果
sNO
1004
1005
1006
...
1010

不想用not in和exist in,那都是SQL SERVER 2000里的写法,而且在大数据量下性能都不好,2008版本到应该有更好的写法吧,求高人
...全文
361 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2015-02-12
  • 打赏
  • 举报
回复
可以用left join实现,

select a.sNO
 from a表 a
 left join b表 b on a.sNO=b.sNO
 where b.sNO is null
zebro1573 2015-02-12
  • 打赏
  • 举报
回复
可以联表,left where b.sno is null
Neo_whl 2015-01-27
  • 打赏
  • 举报
回复

select sno from a
except 
select sno from b
或
select sno from a where not exists(select sno from b where sno=a.sno)  --这个效率低?

34,590

社区成员

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

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