如何在SQL中删除多个值?

Wil*_*mKF 3 sql oracle

我知道如何使用如下语句删除一组行:

DELETE FROM my_table WHERE id=23 AND year=2012 AND value=16
DELETE FROM my_table WHERE id=17 AND year=2012 AND value=16
DELETE FROM my_table WHERE id=64 AND year=2012 AND value=16
Run Code Online (Sandbox Code Playgroud)

但我想将上述三个语句组合成一个DELETE,其中id为23,17或64.

在Oracle SQL中执行此操作的语法是什么?

Mik*_*sen 9

您可以使用SQL IN关键字.例如:

DELETE FROM my_table WHERE id IN (23, 17, 64) AND year=2012 AND value=16
Run Code Online (Sandbox Code Playgroud)

注意: Oracle在列表中限制为1,000个项目.


Mic*_*son 5

DELETE FROM my_table 
WHERE id in (17, 23, 64) AND year=2012 AND value=16
Run Code Online (Sandbox Code Playgroud)