同时删除A表和B表中相同id的数据

我要同时删除A表和B表中的id为3的数据,用一条sql语句。怎么删?

delete from (select * from A)union (select * from B) where ID=3;
可能有错误,大致思路:把表A和表B做一个连接,组成另外一个新表,然后从新表里面删掉ID=3的数据。追问

在ID不知道的情况下怎么删,而且两张表还是有 很多相同的地方。比如上面的,不止id=3的相同,还有4 5 6……

追答

(select ID as 表aID from A) as 表一
right union (select ID as 表bID from B) as 表二;
以上结果组成一个大表;
删除iD=3的记录:
delete from
(

(select ID as 表aID from A) as 表一
right union (select ID as 表bID from B) as 表二;

)

where
表aID=3 and 表bID;

温馨提示:答案为网友推荐,仅供参考
相似回答