MySQL pesquisa em árvore recursiva

Eu tenho um banco de dados com uma árvore de nomes que pode descer até 9 níveis e preciso procurar um ramo de sinal da árvore a partir de qualquer ponto do ram

Base de dados

+----------------------+
| id |  name  | parent |
+----------------------+
| 1  |  tom   |   0    |
| 2  |  bob   |   0    |
| 3  |  fred  |   1    |
| 4  |  tim   |   2    |
| 5  |  leo   |   4    |
| 6  |  sam   |   4    |
| 7  |  joe   |   6    |
| 8  |  jay   |   3    |
| 9  |  jim   |   5    |
+----------------------+

Árvore

tom
 fred
  jay
bob
 tim
  sam
   joe
  leo
   jim

Por exemplo

Se eu procurar "j" no usuário "bob", devo receber apenas "joe" e "jim". Se eu pesquisar "j" no formulário "leo", só devo receber "jim".

Não consigo pensar em nenhuma maneira fácil de fazer isso, então qualquer ajuda é apreciad

questionAnswers(6)

yourAnswerToTheQuestion