Minicursos - MySQL

Where com operadores lógicos


Os operadores lógicos que a linguagem SQL aceita são o AND, OR e o NOT. De forma bem simplificada, seu funcionamento se resume a:

- AND - deve ser usado sempre que duas condições precisarem ser atendidas

- OR – deve ser usado quando apenas uma condição precisar ser atendida

- NOT – será usado quando você quiser negar uma condição.

Através dos operadores lógicos nós podemos tornar nossas buscas com o parâmetro WHERE ainda mais precisas. No tópico anterior fizemos algumas buscas usando o campo "idade" da tabela "cliente" como referência. Em uma das buscas o SGBD retornou pessoas com idade SUPERIOR a 30 anos e em outra com idade IGUAL OU SUPERIOR a 30 anos. Bom, mas e se quiséssemos pessoas com idade entre 29 e 34 anos, incluindo esses dois valores? Essa consulta só seria possível com o uso de um operador lógico, da seguinte forma:

SELECT nome AS Nome, idade AS Idade FROM cliente WHERE idade >= 29 AND idade <= 34;

Vejam o retorno do SGBD:

Where Operadores Lógicos MySQL

Percebam que dessa forma conseguimos especificar um intervalo de idade. Poderia haver uma situação onde você quisesse retornar todos os clientes que possuem idade menor do que 20 anos OU maior do que 30. Nesse caso o operador lógico que nos atenderia seria o OR, da seguinte maneira:

SELECT nome AS Nome, idade AS Idade FROM cliente WHERE idade < 20 OR idade > 30;

Vejam o retorno dessa consulta:

Where Operadores Lógicos MySQL

Vejam que agora nós excluímos os resultados de clientes com idades entre 20 e 30 anos.

No tópico anterior fizemos uma busca utilizando o caractere coringa %, que nos retornou todos os clientes cujos nomes iniciavam com a letra R. E se quiséssemos o contrário, ou seja, todos os clientes cujos nomes NÃO iniciem com a letra R? Bem, para solucionar isso podemos fazer uso do operador lógico NOT, dessa maneira:

SELECT nome as Nome, idade AS idade FROM cliente WHERE nome NOT like 'R%';

Where Operadores Lógicos MySQL

Vejam que nosso retorno contém todos os nomes que NÃO são iniciados pela letra R. Poderíamos combinar essa consulta com uma condição especificando que só nos interessa os clientes com idades menores do que 25 anos, com o comando abaixo:

SELECT nome as Nome, idade AS idade FROM cliente WHERE nome NOT like 'R%' AND idade < 25;

Where Operadores Lógicos MySQL

Agora o resultado eliminou as idades superiores ou iguais a 25 anos. Como você pôde perceber, é possível combinar os operadores AND, OR e NOT conforme sua necessidade.

No tópico seguinte falarei sobre outros operadores interessantes.




Notícias - Games

Atari VCS é finalmente lançado e surpreende

O Atari VCS foi lançado recentemente e trouxe suporte a praticamente todos os serviços de streaming de jogos já disponíveis. A única exceção foi por conta do Playstation Now, cujo suporte nativo não é oferecido, mas ele pode ser acessado através do modo PC do VCS, já que o console possui Googl...

Ler Notícia Completa

Conheça o Playstation 2 portátil criado por um brasileiro

Claudio Adriano decidiu criar uma versão portátil do console Playstation 2, da Sony. Inspirado no Nintendo Switch, o console ficou pronto depois de 2 anos de trabalho e algumas interessantes adaptações. Partindo de uma placa-mãe de um PS2 Slim, Claudio fez os encaixes necessários para que a pla...

Ler Notícia Completa
Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!