Visão geral do WHERE
WHERE é uma cláusula de consulta condicional do Oracle. Ela serve para filtrar os dados e retorna apenas as linhas que atendem aos critérios de pesquisa.
Ponto importante sobre a ordem da sintaxe:WHERE deve ser escrito depois do FROM e antes do ORDER BY.
Sintaxe completa
SELECT
column1,
column2,
...
FROM
tablename
WHERE
search_condition
ORDER BY
column1,
column2;
Operadores de comparação
| Operador | Descrição |
|---|---|
= | Igual |
!= , <> | Diferente |
> | Maior que |
< | Menor que |
>= | Maior ou igual |
<= | Menor ou igual |
IN | Corresponde a qualquer valor da lista |
NOT IN | Não corresponde a nenhum valor da lista |
[NOT] BETWEEN n AND m | Verifica se o valor está dentro do intervalo |
[NOT] EXISTS | Verifica se a subconsulta retorna linhas |
IS [NOT] NULL | Verifica valores NULL |
Exemplos de código
Consulta de igualdade
SELECT
id,
name,
sex
FROM
student
WHERE
name = 'tom';Code language: JavaScript (javascript)
Saída de execução do Oracle:
SQL> select * from student where name = 'tom';
ID NAME SEX
---------- ---------- ----
1 tom MasculinoCode language: JavaScript (javascript)
Comparação numérica, id maior que 20
SELECT
*
FROM
student
WHERE
id > 20;
Operador lógico OR
SQL> select * from student where id>1 or name = 'jim';
ID NAME SEX
---------- ---------- ----
2 jim Masculino
3 lisa FemininoCode language: JavaScript (javascript)
Correspondência com IN
SELECT
*
FROM
student
WHERE
id IN(1,4)
ORDER BY
name;
Saída da execução:
SQL> select * from student where id in(1,3);
ID NAME SEX
---------- ---------- ----
1 tom Masculino
3 lisa FemininoCode language: JavaScript (javascript)
Consulta difusa com LIKE
SELECT
*
FROM
student
WHERE
name LIKE 'l%'
ORDER BY
name;Code language: JavaScript (javascript)
%é um caractere curinga.'l%'serve para encontrar strings que começam com a letra “l”.
Avisos importantes:
- Valores de tipo texto precisam estar entre aspas simples, exemplo:
name = 'jim'. - O
WHEREvem antes doORDER BY, não troque a ordem deles. - Não use
= NULLpara verificar valores nulos, utilize oIS NULL.
Consulta condicional com WHERE
Previous: Remoção de duplicatas Distinct
Next: FETCH