Hierarchical and Recursive Queries in SQL Server
Jasmin Ludolf
Content Developer
Recursion is the use of a procedure, subroutine, function, or algorithm that calls itself one or more times until a specified condition is met
Family Tree - Find all fathers for the last 5 generations
Advantage:
Disadvantage:
Mathematical definition
The sum of consecutive numbers is defined recursively as follows:
number = 1
for iteration = 1
number = number + (iteration - 1)
for iteration > 1
The sum of numbers to 5 is:
1+2+3+4+5 = 15
WITH calculate_SumOfNumber AS ( -- Initial Query SELECT 1 AS iteration, 1 AS SumOfNumber
UNION ALL -- Recursive Part SELECT iteration + 1, SumOfNumber + (iteration + 1) FROM calculate_SumOfNumber
WHERE iteration < 6 )
SELECT SumOfNumber FROM calculate_SumOfNumber
Hierarchical and Recursive Queries in SQL Server