Я только что придумал упражнение, которое я не могу решить. В таблице, как показано выше:Найти, если член является потомком в таблице отношений родителя и ребенка
Father|child
a |b
b |c
c |d
d |e
можно ли написать один запрос, который говорит, если «е» является потомком «а» и/или, если «а» является anchestor из «е» в sql или реляционной алгебре?
Я думаю, что нет, потому что мне придется присоединиться к первому запросу, который мог бы проверить отношение отца/ребенка к новому подзапросу для каждого «родительского» уровня, который я хочу исследовать.
да, это возможно , вы можете сделать это с помощью рекурсивных запросов. –
Примечание: правильный термин на английском языке - «Родитель-ребенок», а не «Отец-ребенок». – RBarryYoung
Посмотрите на рекурсивные запросы, как сказал @vkp (в некоторых версиях реляционной алгебры был также рекурсивный оператор). Для postgresql: https://www.postgresql.org/docs/8.4/static/queries-with.html – okaram