我有一个需要创建的用户名列表。我可以查询表格以找出存在的内容,但如何查询列表中的哪些项目不存在?
即
select username from aspnet_Users where UserName in (a,b,c,d, etc)
但如果仅存在a
和d
,我可以使用哪种SQL来返回b
和c
?
答案 0 :(得分:1)
您可以尝试这样的事情:
-- Included a CTE here just so this example is runnable;
-- You don't need it in your query
WITH aspnet_Users (UserName) AS
(
SELECT 'a' UNION
SELECT 'd'
)
SELECT
n.UserName
FROM
aspnet_Users e
RIGHT JOIN
(VALUES ('b'), ('c')) AS n(UserName)
ON
e.UserName = n.UserName
基本上,您将现有表格加入到您正在检查的用户名中,并且仅在没有匹配项的情况下返回结果。
结果:
UserName
--------
b
c
(2 row(s) affected)