Entenda a diferença entre LIKE, IN e BETWEEN no MySQL

mm

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
mm

Utiliza-se a cláusula / operador LIKE quando se deseja fazer uma busca a um caracter, utilizando coringa ou seja %, se você quer efetuar uma varredura com caracteres que se iniciem com a palavra A o correto é fazer. Como irei mostrar abaixo. Primeiro repare na posicão do coringa %pois, faz diferença.

Aqui você irá buscar todos os registrs que contém a letra A na palavra.

SELECT * FROM tabela WHERE descricao LIKE “%A%”

Aqui você irá buscar todos os registrs que contém a letra A no final da palavra.

SELECT * FROM tabela WHERE descricao LIKE “%A”

Aqui você irá buscar todos os registrs que contém a letra A no início da palavra.

SELECT * FROM tabela WHERE descricao LIKE “A%”

Agora vamos a cláusula BETWEEN

Você deve utilizar a cláusula BETWEEN quando deseja pegar apenas um intervalo do seu SELECT, ou seja, quer saber as vendas efetuadas entre o dia 10/11/2017 e 13/11/2017. Afinal a tradução de BETWEEN seria Entre. Irei indicar no select abaixo que quero buscar os registros entre o dia 10/11/2017 e 13/11/2017. Lembrando que para buscar um intervalo deve-se indicar somente 2 condições

Select * FROM tabela WHERE vendas BETWEEN 10/11/2017 AND 13/11/2017

Agora vamos a cláusula IN

Você deve utilizar a cláusula IN é utilizado quando desejamos consultar uma tabela, filtrando o valor de um de seus campos a partir de uma lista de possibilidades. Ou seja, para indicar que está a fazer uma comparação com algum valor, e deseja dar um SELECT em uma tabela onde possua N registros mas possam ser filtrados por você mesmo, buscando apenas o que você acha necessário. Veja, que abaixo irei indicar que quero pegar os registros das pessoas que possuam o ID = 1,2,5,10 apenas.

SELECT * from pessoas WHERE id IN (1,2,5,10)

Em resumo:

  1. LIKE: é usado para fazer buscas parciais em campos do tipo texto (varhcar text etc) utilizando coringas % e _.
  2. IN: Faz a comparação de um valor contra um conjunto fixo ou até mesmo com uma subquery.
  3. BETWEEN: Compara um valor entre um intervalo de exatamente dois valores.

Compartilhe.

PinIt
Top
%d blogueiros gostam disto: