Existe uma maneira de atravessar dados de árvore no SQL? Eu sei connect by
no Oracle, mas existe outra maneira de fazer isso em outras implementações 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 da árvore", explicarei mais a seguir: O que quero dizer é com relação às tabelas que têm um parent_id
campo ou similar que contém uma chave primária de outra linha da mesma tabela.
A pergunta vem de uma experiência em que eu estava trabalhando com dados armazenados dessa maneira em um banco de dados Oracle e sabia que isso connect by
não foi implementado em outros DBMSs. Se alguém usasse o SQL padrão, teria que criar um novo alias de tabela para cada pai que desejaria subir. Isso pode facilmente sair do controle.