能不能问各位大侠一下。 怎么删除数据库中的一个表中的某个字段与其他另外一个表中不相同的字段的记录,比如第一个表中name与第二个表中的name。当第一个表中的name与第二个表中的name不相同的记录就删除掉。sql语句是什么?假设第一个表为table1 第二个为table2,都有字段name。谢谢了!
------解决思路----------------------
delete from table1 A where not exists(select 1 from table2 B where A.name=B.name)
------解决思路----------------------
DELETE FROM table1 WHERE NAME `name` NOT IN(SELECT `name` FROM table2);
-- 或者
DELETE FROM table1 t1 WHERE NOT EXISTS (SELECT 1 FROM table2 t2 WHERE t1.`name`=t2.`name`);