如何获取表中不存在的字段的'Null'或'Not found'结果



有一个大容量文件,其中包含一个区域中所有用户的loginID。现在,我需要从数据库中获取所有ID的用户名,但文件中有许多无效的登录ID,而且它们在MSSql数据库中不存在。

我试图给出下面的查询,但只有当登录ID存在时,它才会给出结果。如果在数据库中找不到loginID,是否有可能得到"Null"或"未找到"的结果?

select username from contacts where loginID in ('xyz','abc',... upto 3K records)

使用left join。要做到这一点,您需要从id的"表"开始。因此:

select v.id, c.username
from (values ('xyz'), ('abc'), . . .
     ) v(id) left join
     contacts c
     on c.id = v.id;

注意:如果您的列表已经来自数据库中的某个查询,则将该查询包括在此查询中(作为CTE或子查询(,或者将结果保存在临时表中。

最新更新