从mysql中的表中删除所选行
从表中删除此选择结果的最佳方法是什么从mysql中的表中删除所选行,mysql,sql,Mysql,Sql,从表中删除此选择结果的最佳方法是什么 select id from taxon2 as a where rank = 'No Taxon' and (select count(*) from taxon2 as b where a.id = b.parentid) = 0; 下面是一个带有外部联接的解决方案: delete taxon2 from taxon2 left join taxon2 t2 on taxon2.id = t2.parentid wh
select id from taxon2 as a
where rank = 'No Taxon' and
(select count(*) from taxon2 as b
where a.id = b.parentid) = 0;
下面是一个带有
外部联接的解决方案
:
delete taxon2
from taxon2
left join taxon2 t2 on taxon2.id = t2.parentid
where t2.id is null;
时
:
delete from taxon2
where rank = 'No Taxon'
and not exists (
select 1
from (select * from taxon2) as b
where b.parentid=taxon2.id)
rdbms
,我还包括了一个外部连接
解决方案。