Ієрархічні та рекурсивні запити в SQL Server
Jasmin Ludolf
Content Developer
Що таке рекурсія?

Рекурсія — це використання процедури, підпрограми, функції чи алгоритму, що викликає сам(у) себе один або кілька разів, доки не буде виконано задану умову
Визначення Common Table Expression (CTE):
WITH CTEtable as (
<select statement on a table>
)
SELECT *
FROM CTEtable
Задає тимчасовий іменований набір результатів, відомий як common table expression (CTE)
Визначення рекурсивного CTE:
WITH cte_name AS (
-- Anchor member
<cte_initial_query>
UNION ALL
-- Recursive member
<cte_recursive_query> )
SELECT *
FROM cte_name
Приклади з реального світу:
Операції з таблицями:
CREATE, INSERT, ALTER, DROPРеляційна модель даних:
Ієрархічна та мережева моделі даних:


Типові завдання:
Планування подорожей за даними перельотів:

Як зібрати автомобіль?

Моделювання енергомережі

Ієрархічні та рекурсивні запити в SQL Server