使用 SQL 删除没有匹配项的行
在关系数据库中处理多个表时,有时需要识别并删除一个表中在另一个表中没有对应匹配项的行。此过程通常称为“删除孤立条目”。
考虑以下场景:
为此,您可以使用各种 SQL 方法:
<code class="language-sql">DELETE b FROM BLOB b LEFT JOIN FILES f ON f.id = b.fileid WHERE f.id IS NULL</code>
<code class="language-sql">DELETE FROM BLOB WHERE NOT EXISTS(SELECT NULL FROM FILES f WHERE f.id = fileid)</code>
<code class="language-sql">DELETE FROM BLOB WHERE fileid NOT IN (SELECT f.id FROM FILES f)</code>
注意:如果可能,建议在事务中执行删除操作,以便在出现任何意外问题时可以选择回滚更改。
以上是如何使用左联接,存在或不在子查询中删除SQL中的孤儿行?的详细内容。更多信息请关注PHP中文网其他相关文章!