繁体   English   中英

是否有更好的方法选择不存在的ID?

[英]Are there better ways to Select which IDs do not exist?

有没有更好的方法来达到相同的结果?

我有一个ID列表(不在表格中)。 我需要找到给定表中不存在的ID。 通过执行以下SQL语句,我已经能够实现所需的结果:

SELECT InlineID
FROM (SELECT 11111 AS InlineID UNION ALL SELECT 22222 UNION ALL SELECT 33333) AS Ids
LEFT OUTER JOIN MyTable ON Ids.InlineID = MyTable.ID
WHERE MyTable.ID IS NULL;

在这种情况下,似乎应该有一种更简单的方法来获得相同的结果,即,重复的UNION ALL语句看起来很乱,尤其是当ID列表变大时。 另一个限制是我无权创建临时表,因此这些类型的解决方案将无法实现。

SELECT InlineID
FROM   (VALUES (11111),
               (22222),
               (33333)) T(InlineID)
EXCEPT
SELECT ID
FROM   MyTable  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM