Como especialista em banco de dados com mais de 20 anos de experiência, posso afirmar com tranquilidade: entender o uso do like em sql é uma das habilidades mais úteis para quem trabalha com dados. Principalmente quando queremos filtrar informações com flexibilidade, rapidez e precisão. Neste artigo, vou te mostrar como esse comando funciona na prática, com exemplos claros e aplicação real.
O que é o like em sql e para que serve?
Primeiramente, qual a função do like em sql?
A cláusula like em sql é usada para buscar padrões dentro de colunas de texto. Ou seja, ela permite encontrar registros que contêm, começam ou terminam com determinado conjunto de caracteres.
Em outras palavras: filtro flexível
Diferente do =
(igualdade), o like em sql não exige uma correspondência exata. Com ele, você pode fazer buscas por partes de palavras, o que é ótimo para consultas dinâmicas ou onde o usuário não sabe o texto completo.
Sintaxe básica do like em sql
Acima de tudo, comece com a estrutura correta
sqlCopiarEditarSELECT coluna
FROM tabela
WHERE coluna LIKE 'padrão';
'padrão'
: representa o critério de busca.%
: curinga que representa qualquer sequência de caracteres._
: curinga que representa um único caractere.
Exemplos práticos do uso de like em sql
Busca por nomes que começam com ‘Jo’
sqlCopiarEditarSELECT nome FROM clientes WHERE nome LIKE 'Jo%';
Busca por palavras que terminam com ‘silva’
sqlCopiarEditarSELECT sobrenome FROM usuarios WHERE sobrenome LIKE '%silva';
Busca por palavras que contêm ‘car’ em qualquer posição
sqlCopiarEditarSELECT produto FROM estoque WHERE produto LIKE '%car%';
Principais curingas do like em sql
% (porcentagem)
- Representa nenhum ou vários caracteres.
- Exemplo:
'ca%'
trazcasa
,carro
,café
.
_ (sublinhado)
- Representa um único caractere.
- Exemplo:
'c_rro'
trazcarro
,cerro
, mas nãocarrão
.
Diferenças entre like e ilike
Sobretudo, atenção ao case sensitive
- LIKE é sensível a maiúsculas/minúsculas (em alguns bancos).
- ILIKE (presente no PostgreSQL) ignora essa diferença.
sqlCopiarEditarSELECT * FROM usuarios WHERE nome ILIKE 'joão';
Esse comando trará João
, joão
, JOÃO
… sem distinção.
Comparação entre like, ilike, e regex
Comando | Case sensitive | Permite padrões complexos | Compatível com |
---|---|---|---|
LIKE | Sim (em alguns) | Não | SQL padrão |
ILIKE | Não | Não | PostgreSQL |
REGEXP | Depende | Sim | MySQL, PostgreSQL |
Cuidados ao usar like em sql
Apesar disso, evite excessos
- Consultas com
%
no início são mais lentas. - Use com índices bem definidos sempre que possível.
- Evite usar
LIKE '%palavra%'
em tabelas muito grandes.
Boas práticas com like em sql
Bem como em toda linguagem, clareza importa
- Padronize maiúsculas/minúsculas usando
UPPER()
ouLOWER()
:
sqlCopiarEditarSELECT * FROM clientes WHERE LOWER(nome) LIKE 'maria%';
- Prefira
ILIKE
quando disponível para buscas mais naturais.
like em sql com colunas numéricas?
Em primeiro lugar, evite
O like em sql não foi feito para colunas numéricas. Contudo, se uma coluna estiver armazenando números como texto, é possível:
sqlCopiarEditarSELECT * FROM pedidos WHERE codigo LIKE '2025%';
like em sql com concatenação
Juntamente com outras funções
Você pode usar CONCAT()
para criar filtros compostos:
sqlCopiarEditarSELECT * FROM usuarios WHERE CONCAT(nome, ' ', sobrenome) LIKE '%maria silva%';
like em sql dentro de subqueries
Do mesmo modo, ele funciona bem em consultas aninhadas
sqlCopiarEditarSELECT nome FROM clientes
WHERE id IN (
SELECT cliente_id FROM pedidos WHERE produto LIKE '%notebook%'
);
Performance: quando usar ou evitar o like em sql
Principalmente em bases grandes, cuidado com %
no início
LIKE '%abc'
impede o uso de índices.- Prefira
LIKE 'abc%'
sempre que possível.
like em sql com colunas indexadas
Ou seja, não é qualquer like que é rápido
- Índices ajudam, mas não funcionam com curingas à esquerda.
- Use
FULLTEXT
(MySQL) ouGIN
(PostgreSQL) se busca for ampla.
like em sql com parâmetros em aplicações
Por exemplo, usando em PHP ou Python
PHP (PDO):
phpCopiarEditar$stmt = $pdo->prepare("SELECT * FROM produtos WHERE nome LIKE ?");
$stmt->execute(["%teclado%"]);
Python (SQLite):
pythonCopiarEditarcursor.execute("SELECT * FROM produtos WHERE nome LIKE ?", ("%teclado%",))
like em sql com colunas JSON?
Dessa forma, use com função auxiliar
No PostgreSQL:
sqlCopiarEditarSELECT * FROM dados WHERE dados->>'descricao' LIKE '%urgente%';
Casos de uso reais do like em sql
Em sistemas de busca interna
- Filtrar clientes por nome parcial
- Buscar produtos por trechos da descrição
- Identificar endereços com determinados padrões
Alternativas ao like em sql
Por fim, considere outras soluções
REGEXP
: mais poderoso e flexívelFULLTEXT
: ideal para textos grandesSIMILAR TO
: combina LIKE e REGEXP (em alguns bancos)
Minhas Impressões Pessoais
Pessoalmente, acho o like em sql extremamente útil em sistemas reais, principalmente para buscas simples e dinâmicas. Ele não substitui filtros avançados como full-text search, mas resolve com eficiência a maioria dos cenários cotidianos.
Conclusão: domine o like em sql e eleve suas consultas
Portanto, entender o like em sql vai muito além de decorar comandos. Trata-se de uma ferramenta poderosa para buscar dados de forma inteligente e versátil. Assim, seja em sistemas pequenos ou bancos robustos, dominar esse recurso é um diferencial real.
Desse modo, pratique, explore e, sobretudo, use com consciência. Afinal, um bom desenvolvedor não só escreve código – ele também sabe filtrar dados como ninguém.

Perguntas Frequentes (FAQ)
O operador LIKE é usado para buscar padrões em strings, permitindo que você encontre dados que correspondam a uma parte específica de um texto.
Você pode usar o caractere ‘%’ para representar qualquer sequência de caracteres e ‘_’ para representar um único caractere.
Sim, você pode usar o LIKE junto com cláusulas como WHERE, ORDER BY e JOIN para filtrar e organizar seus resultados.