Рекурсия в SQL

Системы управления реляционными базами данных на основе SQL лишь условно подходят для иерархических или рекурсивных запросов. Другие системы, такие как ArangoDB, здесь лучше (об этом много говорили на GOTO 2016 ). Вы также можете генерировать рекурсивные запросы в SQL с помощью общих табличных выражений и, таким образом, запрашивать классические родительские / дочерние таблицы для всех предков и потомков.


В PostgreSQL это выглядит так, например:

0672c4761d202a35a9059fa137ace7c3

Если вы хотите получить всех дочерних элементов определенного item_id, вы используете общие табличные выражения:

0672c4761d202a35a9059fa137ace7c3

Спросить у родителей тоже не проблема:

0672c4761d202a35a9059fa137ace7c3

Назад