SobesLab логотип SobesLab

Ответ

Рекурсивный CTE – это WITH-выражение, где запрос ссылается сам на себя, повторно объединяя результаты. Он состоит из якоря (начального запроса) и рекурсивной части, объединенных через UNION ALL. При выполнении СУБД сначала берет результат якоря, потом подставляет его в рекурсивный запрос, получает новые строки, снова подставляет – и так до тех пор, пока новые строки перестанут появляться. Рекурсивные CTE используют для обхода иерархий (например, структуры "начальник-подчиненный", дерево категорий) или для итеративных вычислений. Они позволяют записать циклический процесс вычисления в декларативной форме SQL.