我有一个包含外键的父表和一个包含主键的子表。我想只删除父表中那些在Child表中没有对应行的行。我想在SQL存储过程中实现它。
答案 0 :(得分:0)
通常,您只需使用not exists
:
delete parent
where not exists (select 1
from child
where child.parentid = parent.id
);
答案 1 :(得分:0)
您还可以使用joins
(即left join
)
delete p from parent p
left join child c on c.parentid = p.parentid
where c.parentid is null;