繁体   English   中英

在mysql中,如何查找未在表中的其他行中引用其ID的行?

[英]In mysql how do I find rows whose id are not referenced in any other rows in the table?

我的桌子有三列

ID   parent_ID   item

如您所知,它是用于嵌套菜单的。 现在,我需要找到没有任何子元素的那些元素。 换句话说,其ID是不被用作PARENT_ID任何其他行(和由命令他们item )。 我可以使用mysql查询吗?

SELECT * FROM mytable m WHERE NOT EXISTS (SELECT 1 FROM mytable m2 WHERE m2.parent_ID = m.ID)

我将使用LEFT JOIN而不是子查询:

SELECT Parents.* FROM mytable Parents
LEFT JOIN mytable Childs ON Parents.ID = Childs.parent_ID
WHERE Childs.ID IS NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM