让我们假设以下内容:
表A
id | value ---------- 1 | red 2 | orange 5 | yellow 10 | green 11 | blue 12 | indigo 20 | violet
我有一个ID列表(10、11、12、13、14),可用于在此表中查找ID。这个ID清单是在我的前端生成的。
使用纯SQL,我需要从此列表(10、11、12、13、14)中选择ID,这些ID在表A中没有条目(在“ id”列中联接)。结果应该是id的13和14的结果集。
如何仅使用SQL完成此操作?(此外,如果可能,我想避免使用存储过程)
我能想到的唯一方法是,可以动态创建一个内联SQL表来临时保存我的ID列表。但是,我不知道该怎么做。这可能吗?有没有更好的办法?
谢谢!:)
您可以使用UNION子查询创建“内联表” :
UNION
( SELECT 10 AS id UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 -- etc. ) AS inline_table