QuickExplain:我的 elementList 是 [1, 2, 3, 4],如果表中不存在 3, 4,我想要 3, 4。
PS。如果您使用“NOT IN”,这将返回表中的值但我只想要我查询的 elementList 中的元素。
您可以使用临时表:
create table #elements (name varchar(50))
insert into #elements (name) values ('1')
insert into #elements (name) values ('2')
insert into #elements (name) values ('3')
insert into #elements (name) values ('4')
select name
from #elements
where name not in (select col1 from tab);
drop table #elements
无论你在做什么,试着做相反的事情。如果你只想要元素列表中的元素,那么试试这个
select elements from elementList where col1 not in (select col1 from table)
有点冗长但干净地解决了目的 select * from (select 'item1' as items UNION select 'item2' as items UNION ... select 'itemN' as items ) as notFoundItemList where items NOT IN
(从表 WHERE AND itemName in 中选择 ITEM)