首页 > 解决方案 > 如何根据选择查询删除

问题描述

我想删除作为此查询结果的行

SELECT * 
FROM a
LEFT JOIN b 
  ON a.id = b.id 
WHERE b.id IS NULL;

怎么做?

我努力了:

DELETE  
FROM a
LEFT JOIN b 
  ON a.id = b.id 
WHERE b.id IS NULL;

但它不工作

标签: mysqlsql

解决方案


使用not exists

delete a from a
    where not exists (select 1 from b where b.id = a.id);

推荐阅读