sql从查询中删除结果 [英] sql delete result from query

查看:159
本文介绍了sql从查询中删除结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两张表,结构相同

  • clients 包含第 1+2 行
  • clients3 仅第 2 行
  • clients contains row 1+2
  • clients3 only row 2

我想删除clients表中的第2行

 SELECT * 
 FROM clients 
 WHERE EXISTS (SELECT * FROM clients3 WHERE clients3.id = clients.id))

给了我第 2 行.但我不知道如何删除.

gives me the row 2. But I do not know how to delete.

DELETE * 
FROM clients 
WHERE (SELECT * 
       FROM clients 
       WHERE EXISTS (SELECT * FROM clients3 WHERE clients3.id = clients.id))

不起作用.

推荐答案

无需在查询中两次引用 clients 表并从 DELETE<中删除 */code> 子句 -

No need to refer clients table twice in your query and remove * from DELETE clause -

DELETE c1
FROM clients c1
INNER JOIN clients3 c3 ON c3.id = c1.id --INNER JOIN will work as EXISTS for 1-1 Relation

这篇关于sql从查询中删除结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆