从SQLite中的表中删除子集

时间:2014-02-02 16:30:05

标签: sql sqlite

我有SQLite问题似乎很简单,但无法弄清楚:我有以下两个表 表A

ID1  ID2
a  b
a  c
b  c
e  f

表B

ID1  ID2
a  b
b  c

我想使用

从表A中删除表B中的元素
Delete from A 
where (ID1,ID2) 
in (select * from B) 

但是sqllite会出现语法错误。

Your Query Result: Query failed to execute: near ',': syntax error
你可以帮助我使用我应该使用的正确条款吗?谢谢!

1 个答案:

答案 0 :(得分:2)

请尝试使用EXISTS查询。

DELETE FROM A WHERE EXISTS (SELECT * FROM B WHERE a.ID1 = b.ID1 AND a.ID2 = b.ID2);

使用SQLFiddle测试:http://sqlfiddle.com/#!7/67fc6/1