id;name;parent
1;alex;0
2;mary;1
3;alice;1
4;hoover;2
Преобразуйте в 2 таблицы вида:
id;name
1;alex
2;mary
3;alice
4;hoover
parent_id;element_id
1;2
1;3
1;4
2;4
Список всех родителей для элемента 4:
SELECT * FROM `people` WHERE `id` IN (SELECT `parent_id` FROM `people_tree` WHERE `element_id` = 4)
Список всех детей для элемента 1:
SELECT * FROM `people` WHERE `id` IN (SELECT `element_id` FROM `people_tree` WHERE `parent_id` = 1)
Для удобства можно добавить к таблице `people` поля level и position, и получать детей либо родителей на любое количество уровней вложенности. А position для позиционирования элементов на каждом уровне для каждого родителя.