SQL Server 查詢樹結構的表首節點和尾節點案例
阿新 • • 發佈:2018-12-03
一.建立表
DECLARE @t Table(id CHAR(1),parentId CHAR(1))
INSERT INTO @t values('a','')
INSERT INTO @t values('b','a')
INSERT INTO @t values('c','b')
INSERT INTO @t values('d','c')
INSERT INTO @t values('e','')
INSERT INTO @t values('f','e')
INSERT INTO @t values('g','f')
表中資料:
SELECT * FROM @t /* id parentId a b a c b d c e f e g f */
二.查詢首節點和尾節點
1)首節點
--首節點
SELECT * FROM @t A WHERE NOT EXISTS(
SELECT * FROM @t B WHERE a.parentId=b.id
)
/*
id parentId
a
e
*/
2)尾節點
--尾節點
SELECT * FROM @t A WHERE NOT EXISTS(
SELECT * FROM @t B WHERE a.id=b.parentId
)
/*
id parentId
d c
g f
*/