SQLite:从另一个 table 中指定的 table 中删除所有记录

SQLite: delete all records from table specified in another table

有这样的表格

mytab       deltab
---------   --------
id | name   id | name
 1 | Ann     2 | Bob
 2 | Bob     3 | Cindy
 3 | Cindy
 4 | Dave

我想执行查询,删除 deltab 中指定的 mytab 中的所有记录,因此只剩下 Ann 和 Dave在我的标签中。

虽然有MySQL multiple-table delete syntax, looks like there is no such thing in SQLite delete syntax.

我正在考虑使用 select-stmt 的 REPLACE 语法,并在之后的 DELETE 查询中标记将被删除的行(比如将这些名称设置为 NULL)。请问有没有更有效的方法?

试试这个查询

Delete from mytab where id in (select id from deltab);

试试这个:

DELETE FROM mytab       
WHERE EXISTS (SELECT *
              FROM deltab
              WHERE deltab.ID = mytab.ID)