Hierarchical and Recursive Queries in SQL Server
Jasmin Ludolf
Content Developer
Components
Pseudo code:
Recursive definition:
number = 1 for iteration = 1,
number = number +1 for iteration > 1
termination condition: number < 4
Pseudo code:
WITH recursion AS (
SELECT
-- Initial query
number = 1
UNION ALL
SELECT
-- Recursive query
number = number + 1
FROM numbers
-- Termination condition
WHERE number < 4)
-- Statement on CTE
SELECT * FROM recursion;
-- Final iteration
1+1+1+1 = 4
Recursive definition:
number = 1 for iteration = 1
number = number + iteration^iteration for iteration > 1
Pseudo code
WITH recursion AS (
number = 1 -- Initial query
UNION ALL
number = number + iteration^iteration -- Recursive query
WHERE termination_condition)
SELECT * FROM recursion;
-- Three iterations
1 + 2^2 + 3^3 = 32
Hierarchical and Recursive Queries in SQL Server