【发布时间】:2021-06-17 12:03:43
【问题描述】:
假设如下:
表 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) 中选择表 A 中没有条目的 id(加入“id”列)。结果应该是id的13和14的结果集。
如何仅使用 SQL 来完成此操作? (另外,如果可能的话,我想避免使用存储过程)
我能想到的唯一方法是动态创建一个内联 SQL 表来临时保存我的 id 列表。但是,我不知道该怎么做。这可能吗?有没有更好的办法?
谢谢! :)
【问题讨论】:
-
这不是很清楚。如果您的 ID 不在另一个表中,则无需加入。
-
没错。 :) 这就是问题所在!
-
NOT IN(<your list>)有什么问题? -
@Cfreak:OP 不希望表中的 id 不在列表中;他想要列表中不在表格中的 id。