Express??o booleana

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.

As express??es booleanas podem incluir um ou mais operadores booleanos, listados em Operadores booleanos SQL.
Tabela 1. Operadores booleanos SQL
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
Conceitos relacionados
Par??metros din??micos
Refer??ncias relacionadas
Preced??ncia das express??es