假设我有以下DDL:
CREATE table foo(id integer primary key, parent_id integer);
insert into foo values(1,null);
insert into foo values(2,null);
insert into foo values(3,2);
insert into foo values(4,2);
insert into foo values(5,4);
我只需要检索层次结构的最后一级,并且一个项目可以有多个子项,这样我只需要检索 id 为 1
、3
和 5
的行
不存在使用
Select *
From foo f1
Where not exists (
Select 1
From foo f2
Where f2.parent_id = f1.id
)