Existe uma maneira de percorrer os dados da árvore no SQL? Eu conheço connect by
no Oracle, mas existe outra maneira de fazer isso em outras implementações de SQL? Estou perguntando porque usar connect by
é mais fácil do que escrever um loop ou função recursiva para executar a consulta para cada resultado.
Como algumas pessoas parecem estar confusas com a frase "dados de árvore", explicarei mais detalhadamente: O que quero dizer é com relação a tabelas que possuem um parent_id
campo ou similar que contém uma chave primária de outra linha na mesma tabela.
A dúvida vem de uma experiência em que estava trabalhando com dados armazenados dessa forma em um banco de dados Oracle e sabia que isso connect by
não é implementado em outros SGBDs. Se alguém usasse o SQL padrão, seria necessário criar um novo alias de tabela para cada pai que desejasse subir. Isso poderia facilmente sair do controle.