O tópico em que você está se aprofundando é chamado de "Pesquisa Fuzzy". É uma grande toca de coelho para pular, dependendo de quão preciso você gostaria de obter. Existem vários métodos, como:
- soundex
- Distância de Damerau-Levenshtein
- Distância Jaro-Winkler
- metafone
- metafone duplo
Algumas referências para conferir:
- pesquisa difusa em pequena escala PHP/MySQL a>
- http://en.wikipedia.org/wiki/Approximate_string_matching
- Como faço uma correspondência difusa de nomes de empresas em MYSQL com PHP para preenchimento automático?
- Implementação da distância Levenshtein para mysql /pesquisa difusa?