SQL中,怎样删除从多个表查询到的记录

2024-12-02 10:42:54
推荐回答(5个)
回答1:

SQL查询结果不能删除啊,因为它根本不是一个实体表。如要在查询结果中进行再次查询比较将会更好,如
查询年龄大于30岁月且月收入超过3000元的 上海人:

select * from (select a.姓名,a.籍贯,b.年龄,c.收入 from a1 a,b1 b2,c1 c
where a.cust_id=b.cust_id and b.serv_id=c.serv_id) where 籍贯='上海'
and 年龄>30 and 收入>3000

这就是查询结果,没必要将查询结果查询出来了又删除,那效率将比较低。

回答2:

delete a.*,b.* from a,b where a.id=b.aid and a.id=1;
删除a,b表中,所有关于a.id=b.aid=1的数据。

回答3:

delete from 表名1,表名2 where 表名1。字段1="" and 表名2。字段1=""

回答4:

delete from tablea left join tableb on a.a=b.b where b.c>5

回答5:

游标