Sql Server 2012:如何查找列表中没有的元素

时间:2014-03-06 15:06:55

标签: sql-server list search elements

我有一个国家列表,我想找到哪一个不在表中。

让我们说我的名单是这样的:('希腊','智利','夏威夷')并且表中已经存在希腊和智利而不存在夏威夷。

如何查询以查找我提供的列表中缺少的内容?

提前致谢。

1 个答案:

答案 0 :(得分:0)

一种方法是将您的标准放在另一个表中,然后使用外连接。例如:

DECLARE @Test as table(Cnty varchar(50))

insert into @Test(Cnty) values ('Greece')
insert into @Test(Cnty) values ('Chile')


SELECT tmp2.Cntry FROM (
SELECT * FROM @Test t
    RIGHT JOIN (SELECT 'Greece' Cntry UNION ALL
            SELECT 'Chile' UNION ALL
            SELECT 'Hawaii') Tmp
        ON t.Cnty = tmp.Cntry
) tmp2
WHERE cnty is null