Olá!
Ao realizar uma pesquisa no banco de dados (DB) esperamos um resultado de acordo com a nossa necessidade, e para que isso ocorra é necessário filtrar campos e dados que serão selecionados do DB.
Com o comando Where, podemos filtrar os registros de uma tabela para que a seleção dos dados respeite a necessidade do analista. Ou seja, por exemplo em uma tabela de pessoas podemos selecionar apenas os registros que iniciam com a letra "A", ou aqueles que estão com idade entre 25 até 30 anos.
- A sintaxe básica do Select com Where:
SQL | Tradução Livre |
SELECT campo(s) FROM tabela WHERE campo Operador Valor | SELECIONE campo(s) DA tabela QUANDO campo Condição |
- A condição é composta de um operador lógico, e de um valor.
Os operadores lógicos, são:
Operador Lógico | Descrição |
= | Igualdade |
<> | Diferente |
> | Maior que |
< | Menor que |
>= | Maior que ou igual |
<= | Menor que ou igual |
BETWEEN | Entre (considerando também os valores dos extremos) |
LIKE | Pesquisa de string semelhante |
IN | Entre valores específicos |
O valor é um dado que pode ser fixo, ou de uma variável, ou de outro campo da tabela, enfim, é um valor que tem como o propósito de ser um filtro para os registros que estão sendo selecionados.
- Exemplos
Tabela utilizada nos exemplos:
PESSOA | |||
CD_PESSOA | NOME | SOBRENOME | IDADE |
1 | Felipe | Barbosa | 23 |
2 | Ana | Vieira | 20 |
3 | João | Santos | 19 |
4 | Aline | Silva | 21 |
5 | Maira | Dantas | 25 |
1) Pesquisar todos os dados da tabela, SQL sem Where
SELECT NOME
FROM PESSOA;
2) Pesquisar os nomes que possuam a idade igual 23
SELECT NOME
FROM PESSOA
WHERE IDADE
= 23
Resultado:
Felipe
3) Pesquisar os nomes que possuam a idade diferente de 19
SELECT NOME
FROM PESSOA
WHERE IDADE
<> 19
Resultado:
Felipe
Ana
Aline
Maira
4) Pesquisar os nomes que possuam a idade maior que 23
SELECT NOME
FROM PESSOA
WHERE IDADE
> 23
Resultado:
Maira
5) Pesquisar os nomes que possuam a idade menor que 20
SELECT NOME
FROM PESSOA
WHERE IDADE
< 20
Resultado:
João
6) Pesquisar os nomes que possuam a idade maior ou igual a 23
SELECT NOME
FROM PESSOA
WHERE IDADE
>= 23
Resultado:
Felipe
Maira
7) Pesquisar os nomes que possuam a idade menor ou igual a 20
SELECT NOME
FROM PESSOA
WHERE IDADE
<= 20
Resultado:
Ana
João
8) Pesquisar os nomes que possuam a idade entre 21 até 25
SELECT NOME
FROM PESSOA
WHERE IDADE BETWEEN 21 AND 25
Resultado:
Felipe
Aline
Maira
9) Pesquisar os nomes que possuam a idade igual a 19, 21 e 23
SELECT NOME
FROM PESSOA
WHERE IDADE IN (19, 21, 23)
Resultado:
Felipe
João
Aline
Os exemplo com a utilização do LIKE está neste post: Select Like.
Então, com o uso do Where os dados que são selecionados na base podem ser filtrados por diferentes tipos de condições.
No próximo post veja os argumentos AND e OR que incrementam o comando Where.
FELIPE BARBOSA FERREIRA
Até o próximo post!