Есть ли способ пройти данные дерева в SQL? Я знаю об connect by
Oracle, но есть ли другой способ сделать это в других реализациях SQL? Я спрашиваю, потому что использовать connect by
проще, чем написать цикл или рекурсивную функцию для запуска запроса для каждого результата.
Поскольку некоторые люди, кажется, смущены фразой «древовидные данные», я объясню далее: я имею в виду то, что касается таблиц, в которых есть parent_id
аналогичное поле, содержащее первичный ключ из другой строки в той же таблице.
Вопрос возникает из опыта, когда я работал с данными, хранящимися таким образом в базе данных Oracle, и знал, что они connect by
не реализованы в других СУБД. Если бы кто-то использовал стандартный SQL, он должен был бы создать новый псевдоним таблицы для каждого родительского элемента, который нужно увеличить. Это может легко выйти из-под контроля.