簡體   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