查询的一个怪问题,IN语句怎么不管用?

solidpanther 2006-10-11 10:49:07
我在执行
select * from table1 where a='z001'
select * from table1 where a in ('z001')


select * from table1 where a='z002'
select * from table1 where a in ('z002')

时都能查出结果,

但执行如下语句就查不出结果:
select * from table1 where a in ('z001','z002')

如果执行
select * from table1 where a not in ('z001','z002')就能把其他的数据都查到,

感觉比较奇怪;
字段a是主键,
大家帮忙解释一下为什么in那么怪?

谢谢!
...全文
238 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
seawhl 2006-10-12
  • 打赏
  • 举报
回复
有null值为什么会查不出来了
renmao 2006-10-12
  • 打赏
  • 举报
回复
恩。同意。一定是有null的值,还是看看那个字段是不是有null的值
wangzk0206 2006-10-12
  • 打赏
  • 举报
回复
是不是有空格方面的 但是感觉几率不大
Eric_1999 2006-10-11
  • 打赏
  • 举报
回复
不太可能,除非是所以字段都为null,要不没理由in不出数据。
wiler 2006-10-11
  • 打赏
  • 举报
回复
除非a列有null值
否则不太可能
AFIC 2006-10-11
  • 打赏
  • 举报
回复

select count(1) from table1 where a in ('z001','z002')
看看再说
hjx000 2006-10-11
  • 打赏
  • 举报
回复
见鬼了
henghowzc 2006-10-11
  • 打赏
  • 举报
回复
怪事啊。....关注下,么碰到过。
估计要具体情况具体对待了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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