MYSQL insert嵌套select的使用

假设现有两张表,表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 )

猜你喜欢

转载自blog.csdn.net/weixin_41146000/article/details/103988679