As express??es booleanas s??o permitidas na cl??usula WHERE e nas restri????es de verifica????o. As express??es booleanas nas restri????es de verifica????o possuem limita????es n??o descritas aqui; para obter mais informa????es deve ser consultada a Cl??usula CONSTRAINT. As express??es booleanas nas cl??usulas WHERE possuem uma sintaxe bem liberal; consulte, por exemplo, a Cl??usula WHERE.
| Operador | Explica????o e exemplo | Sintaxe |
|---|---|---|
| AND, OR, NOT |
Avalia os operandos, que s??o express??es booleanas
(AEROPORTO_ORIGEM = 'SFO') OR
(AEROPORTO_DESTINO = 'GRU')
-- retorna verdade
|
{
Express??o AND
Express??o |
Express??o OR
Express??o |
NOT Express??o
}
|
| Compara????es |
<, =, >, <=, >=, <> s??o aplic??veis a todos os tipos nativos.
DATE('1998-02-26') <
DATE('1998-03-01')
-- retorna verdade
|
Express??o
{
< |
= |
> |
<= |
>= |
<>
}
Express??o
|
| IS NULL, IS NOT NULL | Testa se o resultado de uma express??o ?? nulo ou n??o.
WHERE NOME_DO_MEIO IS NULL |
Express??o IS [ NOT ] NULL |
| LIKE |
Tenta fazer a correspond??ncia entre uma express??o de caractere e um padr??o de
caractere, que ?? uma cadeia de caracteres que inclui um ou mais caracteres
curinga.
O caractere % corresponde a qualquer n??mero (zero ou mais) de caracteres na posi????o correspondente na primeira express??o de caractere. O caractere _ corresponde a um caractere na posi????o correspondente na express??o de caractere. Qualquer outro caractere corresponde apenas a este caractere na posi????o
correspondente na express??o de caractere.
cidade LIKE 'Sant_' Para tratar os caracteres % e _ como caracteres constante, o caractere
deve ser precedido por um caractere de escape opcional, especificado na
cl??usula ESCAPE.
SELECT a FROM tabA WHERE a LIKE '%=_' ESCAPE '=' |
Express??oCaractere [ NOT ] LIKE Express??oCaractere ComCaractereCuringa [ ESCAPE 'CaractereDeEscape'] |
| BETWEEN |
Testa se o primeiro operando est?? entre o segundo e o terceiro operandos.
O segundo operando deve ser menor que o terceiro operando.
Aplic??vel apenas aos tipos de dado onde se pode aplicar <= e >=.
WHERE DATA_DE_RESERVA BETWEEN
DATE('1998-02-26') AND
DATE('1998-03-01')
|
Express??o [ NOT ] BETWEEN Express??o AND Express??o |
| IN |
Opera sobre uma subconsulta a tabela ou uma lista de valores.
Retorna TRUE se o valor da express??o ?? esquerda est?? presente no resultado da
subconsulta a tabela ou na lista de valores.
A subconsulta a tabela pode retornar v??rias linhas, mas deve retornar uma
??nica coluna.
WHERE DATA_DE_RESERVA NOT IN
(SELECT DATA_DE_RESERVA FROM
RESERVAS_EM_HOTEL WHERE QUARTOS_DISPON??VEIS = 0)
|
{
Express??o [ NOT ]
IN
SubconsultaTabela |
Express??o [ NOT ]
IN ( Express??o
[, Express??o ]* )
}
|
| EXISTS |
Opera sobre uma subconsulta a tabela.
Retorna TRUE se a subconsulta a tabela retornar alguma linha,
e FALSE se n??o retornar nenhuma linha.
A subconsulta a tabela pode retornar v??rias colunas (somente se for utilizado
* para indicar v??rias colunas) e linhas.
WHERE EXISTS (SELECT * FROM V??OS WHERE AEROPORTO_DESTINO = 'SFO' AND AEROPORTO_ORIGEM = 'GRU') |
[NOT] EXISTS SubconsultaTabela |
| Compara????o quantificada |
A compara????o quantificada ?? um operador de compara????o
(<, =, >, <=, >=, <>)
com ALL, ANY ou SOME aplicado.
Opera sobre subconsultas a tabela, que podem retornar v??rias linhas, mas devem retornar uma ??nica coluna. Se for utilizado ALL, a compara????o dever?? ser verdade para todos os valores
retornados pela subconsulta a tabela.
Se for utilizado ANY ou SOME, a compara????o dever?? ser verdade para pelo menos um
valor da subconsulta a tabela.
ANY e SOME s??o equivalentes.
WHERE TAXA_NORMAL < ALL (SELECT OR??AMENTO/550 FROM GRUPOS) |
Express??o
OperadorCompara????o
{
ALL |
ANY |
SOME
}
SubconsultaTabela
|