MySQL – LIKE e NOT LIKE – Padrões de caracteres em consultas

MySQL – LIKE e NOT LIKE

Quando realizamos uma consulta no MySQL, utilizamos a cláusula WHERE para realizar um filtro dos registros a retornar. Porém, com o WHERE, só podemos aplicar filtros de correpondência exata de palavras. E se precisarmos aplicar um filtro que verifique palavras de forma parcial, como palavras que iniciem ou terminem com determinados caracteres, ou que possuam sequências de caracteres específicas? Neste caso, usamos a cláusula LIKE:

  • A cláusula LIKE determina se uma cadeia de caracteres (string) corresponde a um padrão especificado. Um padrão pode incluir caracteres normais e curingas.
  • NOT LIKE inverte a comparação, verificando se a cadeia de caracteres NÃO corresponde ao padrão especificado.

Padrões específicos (metacaracteres)

Usamos diversos conjuntos de caracteres para especificar os padrões a serem filtrados pelas cláusulas LIKE e NOT LIKE. Por exemplo:

‘%’  — Qualquer cadeia de 0 ou mais caracteres
‘_’   — Sublinhado: qualquer caracter único

Exemplos:

1. Selecionar todos os registros da tabela tbl_livro cujo nome comece com a letra F:

SELECT * FROM tbl_Livro
WHERE Nome_Livro LIKE 'F%'; 

Cláusula SQL LIKE no MySQL

2. Selecionar todos os registros da tabela tbl_livro cujo nome não começa com a letra S:

SELECT * FROM tbl_Livro
WHERE Nome_Livro NOT LIKE 'S%'; 

Cláusula SQL LIKE no MySQL

3. Selecionar os nomes de livros da tabela tbl_livro cujo nome se inicie com uma letra qualquer e a segunda letra seja a letra i:

SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro LIKE '_i%';

Cláusula SQL LIKE no MySQL

4. Selecionar os nomes dos livros e seus respectivos preços, na tabela de livros, cujo nome não comece com a letra F e que custem mais de R$ 60,00:

SELECT Nome_Livro AS Livro, Preco_Livro AS Valor
FROM tbl_livro
WHERE Nome_Livro NOT LIKE 'F%'
AND Preco_Livro > 60.00;

Cláusula SQL LIKE no MySQL

Assista a um vídeo onde detalho o uso das claúsulas LIKE e NOT LIKE no MySQL:

 

Sobre Fábio dos Reis (1312 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

5 Comentários em MySQL – LIKE e NOT LIKE – Padrões de caracteres em consultas

  1. Cicero F.Filho // 04/06/2014 em 13:11 // Responder

    Gostaria apenas de agradecer, ao Sr. Fábio dos Reis, pela grande ajuda que tem prestado não só a mim mas também a muitos outros que querem ingressar nessa carreira de TI, com sua forma simples e clara de transmitir as informações detalhadas, que Deus ilumine sempre seus caminhos, abraço de coração.

  2. Deixo aqui os meus profundos agradecimentos ao trabalho de vcs da Bóson Treinamentos. Faço Análise de Sistemas na Uninove e desde que descobri a Bóson aprendi muitas coisas e hoje entendo bem todo esse universo que é a área de TI.

  3. E se eu precisasse consultar o conteúdo onde o caractere que quero buscar seja %
    Exemplo conteúdo do campo Nome_Livro: “Use 100% do seu cérebro. ”
    Eu gostaria de encontrar todos os livros que o titulo do livro contenha % (percentual)

    SELECT * FROM tbl_Livro WHERE Nome_Livro LIKE ‘%’;

    Como faria?

Escreva um comentário

Seu e-mail não será divulgado


*