从表中删除那些在其他表中找不到对应关键字的记录?

3

表格1:

  • 编号
  • 名称

表格2:

  • 编号
  • 其他表格编号
  • 表格1编号
  • ...

基本上我想要做的是:

Delete from table_1 
where id not in (select table_1_id 
                 from table_2 
                 group by table_1_id);

这应该能正常工作,我想知道的是子查询是否是最好的方法/还有其他方法吗?

1个回答

8
我更喜欢使用JOIN而不是子查询
DELETE a FROM table_a a
            LEFT JOIN table_2 b
                ON a.ID = b.table_1_id
WHERE   b.table_1_id IS NULL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接