我有一组id(例如1,4,7,8,9)和一个带id字段的表示例。 (表1,4,8,9,10中的ID值) 我想获得未在表中使用的数组的id,所以实际上与
相反SELECT id FROM example WHERE id IN (1,4,7,8,9);
所以我期望的结果是7,因为它是表格中没有使用的数组1,4,7,8,9的唯一值。
有人可以告诉我如何实现该查询吗?
BR Forfaro
答案 0 :(得分:1)
与
相反SELECT id FROM example WHERE id IN (1,4,7,8,9);
可以通过否定where
子句中的条件来实现:
SELECT id FROM example WHERE id not IN (1,4,7,8,9);
或
SELECT id FROM example WHERE not (id IN (1,4,7,8,9));
答案 1 :(得分:0)
您可以使用要搜索的值创建临时表,然后使用not exists
。
<强>查询强>
create table #t(`id` int);
insert into #t values
(1), (4), (7), (8), (9);
select `id` from #t t1
where not exists(
select 1 from example_table t2
where t1.`id` = t2.`id`
);
drop table #t;