假设现有两张表,表a,表b
表a:
表b:
现有这样的需求,根据表a中的hscode值与表b中的item_code值对比,将表b在表a中不存在的数据删除掉。
实现方法:
1、首先创建一张表b的临时表,假设为b_temporary
2、对比两张表,将需要被删除的插入到临时表中
INSERT INTO b_temporary SELECT
*
FROM
b
WHERE
item_code NOT IN ( SELECT hscode FROM a WHERE del_flag = 0 );
3、将表b在表a中不存在的数据进行删除
DELETE from b where item_code in(select item_code from b_temporary )