mysql - 如何根据选择查询删除
问题描述
我想删除作为此查询结果的行
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;
但它不工作
解决方案
使用not exists
:
delete a from a
where not exists (select 1 from b where b.id = a.id);
推荐阅读
- python - 如何将结果列表保存到文件
- c# - 在字符串上调用字符串扩展方法与将字符串作为参数传递
- netsuite - 如何在 Netsuite 中启用自定义列表内部 ID
- r - 使用带有 if 语句的嵌套 for 循环
- linux - Flask、Nginx、Gunicorn Stack 启动 Selenium 实例
- docker - 退出后 Docker 容器统计信息为空
- c++ - 链表的数组实现
- javascript - 如何从javascript中的for循环内部获取价值?
- python - 如何将 django 模型迁移到 MySQL 只读数据库?
- python - Django rest框架 - 序列化本机对象的所有字段