在mysql中,如何找到表中任何其他行未引用其id的行?

时间:2013-08-23 11:46:22

标签: mysql

我的表有三列

ID   parent_ID   item

您可以理解,它适用于嵌套菜单。现在我需要找到那些没有任何子元素的元素。换句话说,其id不被用作任何其他行的parent_ID(并按item排序)。我可以使用mysql查询吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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