有两个表,一个商品表,一个库存表。库存表有goods_id关联商品表的库存。但是现在有些商品已经删除,但是库存表还存在该goods_id,上清理一下表,sql语句怎么写。
delete from 库存表 where goods_id not in (select goods_id from 商品表);
如果是MySql可以这么写:
delete a from a left join b on a.goods_id = b.googds.id where b.goods_id is null
友情提醒,删之前先备份,或者先执行下相应的select,看看结果是否正确,然后改成delete。如果不是msyql,我不知道能不能这样写,可以用 not in
试试