select * from dual where
select * from dual where
select * from dual where 'wd06000174' not in (select zc.wlccid from c_zzcc zc)
不如这样 (select 1 from c_zzcc zc where
或 这样 select * from dual where
开始了:
select count(*) from j_yhda yhda where yhda.id in
( select x.yhid
)这个sql看着没错.但是是错的
正确应该这样写
select count(*) from j_yhda yhda where yhda.id in
( select x.yhid
)
原因是这样:
比如
not in 后面的表达式中的结果里不能有null
如上面的sql
这个问题没注意到的话会有这样的问题.有个值分明是不在某个表达式的结果中的(这个表达式的结果中有null)
所以呢用not in时候最好限制一下not null
本文详细解析了在Oracle数据库中使用SQL语句时NOT IN子句的正确用法,特别是当子查询结果可能包含NULL值时的注意事项。通过具体的SQL示例对比了错误与正确的写法,并解释了为何NULL会导致查询结果不符合预期。
142

被折叠的 条评论
为什么被折叠?



