sqlserver查询指定树形结构的全部子节点

用标准sql的with实现递归查询

with subqry(id,name,pid) as (
  select id,name,pid from test1 where id = 5 --指定id
  union all
  select test1.id,test1.name,test1.pid from test1,subqry where test1.pid = subqry.id
)
select* from subqry;