gpt4 book ai didi

sql - 如何在 SQL 中删除所有没有 child 的 parent ?

转载 作者:行者123 更新时间:2023-11-29 04:31:12 24 4
gpt4 key购买 nike

我有一个包含 id、name、level(深度)和 parrent_id 的表,有什么好的方法可以删除所有没有子节点的节点吗? (一级就够了)?我知道我可以在应用程序中做到这一点——加载给定级别的所有节点并检查它们是否有子节点,如果没有则删除,但这在 SQL 中可能更有效,我不是 SQL 专家 :)

最佳答案

你可以试试

SELECT  DISTINCT tParent.*
FROM Table tParent LEFT JOIN
Table tChild ON tParent.ID = tChild.ParentID
WHERE tChild.ID IS NOT NULL

更好的方法是尝试

SELECT  *
FROM Table t
WHERE NOT EXISTS(SELECT 1 FROM Table WHERE ParentID = t.ID)

关于sql - 如何在 SQL 中删除所有没有 child 的 parent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com