SQL查询树形结构的所有子节点

时间:2022-06-12 21:26:07
如下一张表test:
id name pid
----------- ---------- -----------
1 电器 NULL
2 家电 1
3 冰箱 2
4 洗衣机 2
5 电脑 1
6 笔记本 5
7 平板 5
8 组装机 7
9 品牌机 7
--查询电脑的所有子节点。
可采用标准sql的with实现递归查询:
with subRecord(id,name,pid) as (
select id,name,pid from test where id = 5
union all
select test.id,test.name,test.pid from test,subRecord
where test.pid = subRecord.id
)
select * from subRecord;