适用场景: 单个表中存在类似ID和PID的字段,即子集和父集存在同一个表中,才有机会使用递归。 递归的过程也会使用到表的自连接。e.g IDPidDeptLevelDeptName 10 1 总部 21 2 研发部 31 2 测试部 41 2 质量部 52 3 小组1 62 3 小组2 73 3 测试1 83 3 测试2 95 3 前端组 105 3 美工 使用下列语句: with cte as( select id,pid,deptlevel,deptname from department where id=2 union all select d.id,d.pid,d.deptlevel,d.deptname from cte c inner join department d on c.id=d.Pid ) select * from cte 简单分析一下:
|
|
来自: johnny_net > 《sql server》