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

如下一张表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;

  

posted on 2016-08-04 10:11  Nichk  阅读(1617)  评论(0编辑  收藏  举报