Não, não no MySQL, pelo menos. Essa é uma das maiores limitações do Modelo de lista de adjacência .
Você pode continuar a auto-ingressar um número finito de vezes, mas isso é feio, estranho e não cobre departamentos ilimitados. Você também pode baixar todos os dados em seu aplicativo, construir uma árvore e encontrar o caminho no aplicativo.
Alguns SGBDs, como SQL Server 2005, Postgres 8.4 e Oracle 11g, suportam consultas recursivas usando expressões de tabela comuns com o
WITH
palavra-chave. Este recurso permite que consultas como essa sejam escritas com facilidade, mas infelizmente o MySQL ainda não suporta consultas recursivas. Você pode estar interessado em verificar o seguinte artigo que descreve um modelo alternativo (o modelo de conjunto aninhado a> ), o que torna as operações recursivas mais fáceis (possíveis) no MySQL:
Além disso, também sugiro conferir a seguinte apresentação de @Bill Karwin , um colaborador regular do Stack Overflow:
O modelo de tabela de fechamento descrito na apresentação é uma alternativa muito válida ao conjunto aninhado. Ele descreve esse modelo com mais detalhes em seu SQL Antipatterns livro (trecho do capítulo sobre este tópico ).