0
我正在編寫代碼來擊中保存在MySQL數據庫中的樹結構,每個節點存儲其父級的ID或者如果它是樹的根,則爲NULL。在查詢它嘗試獲取所有葉節點的過程中,我注意到一些奇怪的事情。SQL NOT IN需要雙層?
也就是說,該查詢不會產生任何結果:
SELECT *
FROM tree_table
WHERE node_id NOT IN(SELECT parent_node_id FROM tree_table)
,而這其中產生的結果我追求:
SELECT *
FROM tree_table
WHERE node_id NOT IN(
SELECT node_id
FROM tree_table
WHERE node_id IN(SELECT parent_node_id FROM tree_table))
這似乎是不說竟然放棄了我的麻煩。這是否與我誤解的操作秩序或類似情況有關?
查找 'NOT IN' 和NULLS –