我需要帮助理解这个查询的递归部分:上面如下所示的查询SQL Server 2008 R2中的极品帮助理解递归CTE
WITH EmpsCTE AS
(
SELECT empid, mgrid, firstname, lastname
FROM HR.Employees
WHERE empid = 2
UNION ALL
SELECT C.empid, C.mgrid, C.firstname, C.lastname
FROM EmpsCTE AS P
JOIN HR.Employees AS C
ON C.mgrid = P.empid
)
SELECT empid, mgrid, firstname, lastname
FROM EmpsCTE;
结果。
这里是HR.EMPLOYEES表的图片。
我无法理解为什么代码递归。我理解表格如何输出直接经理为2的empid的所有员工,但我不明白为什么代码递归并生成empid 2下的员工的下属。