sexta-feira, 5 de agosto de 2016

Select Where And / Or

Olá!

Quando estamos em busca de uma informação, delimitamos a área de pesquisa por meio de condições que ajudam a filtrar os dados que estão sendo analisados. Pois, assim evitamos de analisar todos os dados que estão disponíveis. Exemplo de pesquisa:
  • Pesquisar as informações de pessoas que o nome comece com a letra "A" e tenham 20 anos de idade, ou o sobrenome Dantas. Em uma lista de cadastros pessoais que está ordenada de forma ascendente pelo nome da pessoa.
Para realizar a pesquisa acima, as informações poderiam ser disposta da seguinte forma:

Pesquisar dados pessoais
Buscar
nome
Tabela
Pessoa
Condições
   nome comece com a letra "A"
e  tenham 20 anos de idade
ou sobrenome Dantas
Informações adicionais
lista analisada estar ordenada de forma ascendente pelo nome da pessoa


Repare que existem três condições que ajudam a separar os dados que serão analisados na tabela Pessoa. Desse modo para retornar os nomes cadastrados na tabela Pessoa temos que ter respeitar essas condições, que são:
  1. primeira letra do nome = "A"
  2. tenha 20 anos de idade
  3. sobrenome = "Dantas"
De modo que a primeira e segunda condição estão ligadas pelo termo "E", e a terceira está sendo referenciada com o termo "OU". Assim, é necessário que a 1º e 2º condição sejam verdadeiras ou que a 3º condição seja verdadeira.

Então, para construir um comando SQL que realize a pesquisa acima, é necessário utilizar os comandos:
  • AND (e)
  • OR (ou)
Agora tendo conhecimento desses comandos, as condições da pesquisa poderiam também ser dispostas da seguinte forma:

Condições
    nome comece com a letra "A"
AND tenham 20 anos de idade
OR  sobrenome Dantas

Segue o exemplo prático da pesquisa acima:
Tabela
PESSOA
CD_PESSOANOMESOBRENOMEIDADE
1FelipeBarbosa23
2AnaVieira20
3JoãoSantos19
4AlineSilva21
5MairaDantas25

SQL:
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE “A%”
   AND IDADE = 20
    OR SOBRENOME LIKE “%Dantas%”;

Resultado da consulta:
Ana
Maira

O nome Ana foi retornado porque possui a primeira letra igual a "A" e idade igual 20. E o nome Maira porque possui o sobrenome igual a Dantas.

Também, podemos utilizar os parenteses ( ) para separar/unir as condições do SQL. Ou seja, com os comandos And e Or é possível criar diversas condições para filtrar os dados que serão selecionados do DB.


Consultar a relação de Termos e Abreviaturas acesse aqui.
Felipe Barbosa Ferreira

Até o próximo post!

Nenhum comentário:

Postar um comentário