sql 联表DELETE

一、普通联表

第一个

DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

第二个

DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

对于第一个语法,只删除列于FROM子句之前的表中的对应的行。
对于第二个语法,只删除列于FROM子句之中(在USING子句之前)的表中的对应的行。作用是,您可以同时删除许多个表中的行,并使用其它的表进行搜索。

二、使用left join

DELETE d FROM  ruis_drawing as d
left join ruis_drawing_group as g on g.id = d.group_id
left join ruis_drawing_group_type as t on t.id = g.type_id
where t.id in (4,7,9,13);

上面的例子,只删除 ruis_drawing表里面的数据,如果也要删除其他表,只需要在 from 前加上要删除的表的别称。

SQL

我来吐槽

*

*

仅有 1 条评论

  1. _不息

    评论邮箱通知测试