我知道如何使用以下语句删除一组行:
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
但我想将上述三个语句组合成一个DELETE,其中id为23,17或64.
在Oracle SQL中执行此操作的语法是什么?
答案 0 :(得分:9)
您可以使用SQL IN
关键字。例如:
DELETE FROM my_table WHERE id IN (23, 17, 64) AND year=2012 AND value=16
注意: Oracle在列表中限制为1,000个项目。
答案 1 :(得分:5)
DELETE FROM my_table
WHERE id in (17, 23, 64) AND year=2012 AND value=16
答案 2 :(得分:3)
您可以链接AND/OR
条件以达到相同的效果。在这种情况下,简单的IN
可以解决您的目的。
DELETE FROM my_table WHERE id IN (23, 17, 64) AND year=2012 AND value=16
答案 3 :(得分:1)
怎么样:
DELETE FROM my_table WHERE (id=23 or id=17 or id=64) AND year=2012 AND value=16