我有一个约1000个ID的列表,其中只有几个ID不在表中。我需要从列表中获取不在表中的ID。 我无权创建表或将数据插入该表。
create table t1(id int);
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
现在,我需要获取不在表中但在where子句中的ID的详细信息。
where clause - id in (2,5,8,9,25)
我的输出应该是8,9,25
答案 0 :(得分:4)
不要将它们放在where
子句中。使用具有left join
或类似结构的派生表:
select i.id
from (select 2 as id union all
select 5 as id union all
select 8 as id union all
select 9 as id union all
select 25 as id
) i
where not exists (select 1 from t1 where t1.id = i.id);