Como usar LIKE para pesquisar padrões no SQL?

O operador LIKE no SQL permite buscar registros que correspondam a padrões específicos, utilizando curingas como % e _.

Como usar LIKE para pesquisar padrões no SQL?

O operador LIKE no SQL é utilizado para buscar registros que correspondam a padrões específicos dentro de colunas de texto. Ele permite encontrar palavras parciais e realizar buscas flexíveis utilizando curingas.

Usando % para buscar qualquer sequência de caracteres

O curinga % substitui qualquer sequência de caracteres:

SELECT * FROM produtos WHERE nome LIKE '%smartphone%';

Isso retorna todos os produtos cujo nome contenha a palavra "smartphone" em qualquer posição.

Usando _ para substituir um único caractere

O curinga _ substitui exatamente um caractere:

SELECT * FROM clientes WHERE telefone LIKE '11_98765____';

Aqui, buscamos números de telefone que comecem com "11" e tenham um formato específico, onde _ representa qualquer número.

Buscando palavras que começam ou terminam com um padrão

  • Para encontrar registros que começam com uma palavra:
    SELECT * FROM clientes WHERE nome LIKE 'Carlos%';
  • Para registros que terminam com uma palavra:
    SELECT * FROM clientes WHERE nome LIKE '%Silva';

Tornando a busca insensível a maiúsculas e minúsculas

Alguns bancos de dados, como PostgreSQL, oferecem ILIKE, que ignora a capitalização:

SELECT * FROM clientes WHERE nome ILIKE '%joão%';

Isso retornaria "João", "joão" ou "JOÃO" sem precisar ajustar a capitalização manualmente.

Cuidados ao usar LIKE

  • LIKE pode ser lento em tabelas grandes, pois exige varredura completa dos registros.
  • Prefira índices full-text search quando precisar de buscas eficientes em grandes volumes de dados.
  • Use com moderação, principalmente se precisar realizar pesquisas em tempo real.

A pesquisa de padrões no SQL é essencial para encontrar informações flexíveis dentro de um banco de dados. O operador LIKE é uma ferramenta poderosa, mas pode ter impacto na performance quando usado em tabelas grandes. Para sistemas de busca robustos, alternativas como índices FULLTEXT (no MySQL) ou TSVECTOR (no PostgreSQL) podem oferecer melhores resultados. Em aplicações web, onde os usuários fazem buscas frequentes, otimizar essas consultas é fundamental para manter o desempenho e evitar sobrecarga no banco de dados.

Algumas aplicações:

  • Filtragem de clientes com base em nomes parciais
  • Busca por produtos que contenham palavras-chave
  • Verificação de padrões em números de telefone ou CEPs
  • Pesquisa em sistemas de suporte para encontrar tickets específicos
  • Filtragem de logs para identificar mensagens de erro

Dicas para quem está começando

  • Use %palavra% para encontrar registros que contenham um termo
  • Use _ para substituir apenas um caractere
  • Evite LIKE em tabelas muito grandes sem índices adequados
  • Prefira ILIKE em PostgreSQL para buscas insensíveis a maiúsculas/minúsculas
  • Se precisar de buscas avançadas, pesquise sobre full-text search

Contribuições de Fernando Albuquerque

Compartilhe este tutorial: Como usar LIKE para pesquisar padrões no SQL?

Compartilhe este tutorial

Continue aprendendo:

Como buscar registros que começam ou terminam com uma palavra específica?

O operador LIKE no SQL permite encontrar registros que comecem ou terminem com uma palavra específica, utilizando os curingas %.

Tutorial anterior

Como verificar se um valor está dentro de uma lista com IN?

O operador IN no SQL permite verificar se um valor está presente dentro de uma lista, tornando consultas mais eficientes.

Próximo tutorial