日期:2014-05-20  浏览次数:20826 次

【sql问题】如何查询出自己给出的条件不符合的值?
SQL code
 select * from T where code in (code1,code2,code3...) 


假设我列举了10个,而结果出了9个,那么有一个值不在数据库中,如何快速的找到这个值?
现在的问题是列举的值有千条,而且我没有数据库建表的权限,只能查询。如何破?

------解决方案--------------------
用not in 或者 no exists
------解决方案--------------------
用distinct 生成code的list,然后在你列举中剔除刚才查询出来的值。
------解决方案--------------------
not in
------解决方案--------------------
探讨
用not in 或者 no exists

------解决方案--------------------
如果你非得只用sql的话,也可以这样:


SQL code


select a.code from
(
select code1 code
union
select code2 code
union
select code3 code
union
select code4 code
union
select code5 code
union
select code6 code
) as a 
where 
a.code not in (select distinct code from T)