Sql 从一长串选项中删除

Sql 从一长串选项中删除,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我需要从MyTable中删除一些行,通常使用“DeletefromMyTable”和“where”语句。我现在有大约100种不同的标准,用于基于一列删除行,而使用“or”将花费很长时间。我可以用一张单子把它缩短吗。下面是一个例子: GroupInitials ABC DEF GHI JKL MNO PQR STU VWX AEF UYT 我一直在做下面的事情 Delete from MyTable Where GroupInitials = 'ABC' or Group

我需要从MyTable中删除一些行,通常使用“DeletefromMyTable”和“where”语句。我现在有大约100种不同的标准,用于基于一列删除行,而使用“or”将花费很长时间。我可以用一张单子把它缩短吗。下面是一个例子:

GroupInitials 

ABC

DEF

GHI

JKL

MNO

PQR

STU

VWX

AEF

UYT
我一直在做下面的事情

Delete from MyTable

Where GroupInitials = 'ABC' or GroupInitials ='GHI' or GroupInitials = 'STU' ...
我有一个很长的列表要删除,所以有没有什么方法我可以简单地列出这些,而不是使用100个“或”语句


提前感谢

您可以在谓词中使用

Delete 
from MyTable
Where GroupInitials IN('ABC', 'GHI', 'STU' ...);
或者,您可以将这些值写入临时表,并使用相同的方法删除它们:

Delete 
from MyTable
Where GroupInitials IN(SELECT name from temptable);

为此,您可以使用
连接
而不是
中的

您可以使用
中的
谓词:

Delete 
from MyTable
Where GroupInitials IN('ABC', 'GHI', 'STU' ...);
或者,您可以将这些值写入临时表,并使用相同的方法删除它们:

Delete 
from MyTable
Where GroupInitials IN(SELECT name from temptable);
通过这种方式,您可以加入
而不是
中的