我需要从MyTable中删除一些行,我通常使用“从MyTable中删除”然后使用“where”语句。我现在有大约100个不同的标准,基于一列删除行,使用“或”将永远。我可以使用一个列表来缩短它。下面是一个例子:
GroupInitials
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
AEF
UYT
我一直在做以下
Delete from MyTable
Where GroupInitials = 'ABC' or GroupInitials ='GHI' or GroupInitials = 'STU' ...
我有很长的要删除的内容列表,所以有什么方法可以简单地列出这些而不是使用100“或”语句
提前致谢
答案 0 :(得分:4)
您可以使用IN
谓词:
Delete
from MyTable
Where GroupInitials IN('ABC', 'GHI', 'STU' ...);
或者您可以在临时表中写入这些值并使用相同的方法删除它们:
Delete
from MyTable
Where GroupInitials IN(SELECT name from temptable);
并且通过这种方式,您可以JOIN
代替IN
。