Compartilhar via


Combinar condições quando OR tem precedência (Ferramentas de Banco de Dados Visuais)

Para vincular condições com OR e dar-lhes precedência sobre condições vinculadas a AND, você deve repetir a condição AND para cada condição OR.

Por exemplo, imagine que você deseja encontrar todos os funcionários que estão na empresa há mais de cinco anos e têm trabalhos de nível inferior ou estão aposentados. Essa consulta requer três condições, uma única condição vinculada a duas condições adicionais com AND:

  • Funcionários com uma data de contratação anterior a cinco anos atrás, e

  • Funcionários com um nível de trabalho de 100 ou cujo status é "R" (para aposentado).

O procedimento a seguir ilustra como criar esse tipo de consulta no painel Critérios.

Para combinar condições quando OR tiver precedência

  1. No painel critérios , adicione as colunas de dados que você deseja pesquisar. Se você quiser pesquisar a mesma coluna usando duas ou mais condições vinculadas com AND, deverá adicionar o nome da coluna de dados à grade uma vez para cada valor que deseja pesquisar.

  2. Crie as condições a serem vinculadas com OR inserindo a primeira na coluna Filtro da grade e a segunda (e as subsequentes) em colunas separadas de Ou.... Por exemplo, para vincular condições com OR que pesquisam as colunas job_lvl e status, insira = 100 na coluna filtro para job_lvl e = 'R' no Ou... coluna para status.

    Inserir esses valores na grade produz a seguinte cláusula WHERE na instrução no painel SQL:

    WHERE (job_lvl = 100) OR (status = 'R')  
    
  3. Crie a condição AND inserindo-a uma vez para cada condição OR. Coloque cada entrada na mesma coluna de grade que a condição OR à qual ela corresponde. Por exemplo, para adicionar uma condição AND que pesquisa a coluna hire_date e se aplica a ambas as condições OU, insira < '1/1/91' na coluna Critérios e na coluna Ou....

    Inserir esses valores na grade produz a seguinte cláusula WHERE na instrução no painel SQL:

    WHERE (job_lvl = 100) AND   
      (hire_date < '01/01/91' ) OR  
      (status = 'R') AND   
      (hire_date < '01/01/91' )  
    

    Dica

    Você pode repetir uma condição "AND" adicionando-a uma vez e, em seguida, usando os comandos Recortar e Colar do menu Editar para repeti-la para outras condições "OR".

A cláusula WHERE criada pelo Designer de Consulta e Exibição é equivalente à seguinte cláusula WHERE, que usa parênteses para especificar a precedência de OR over AND:

WHERE (job_lvl = 100 OR status = 'R') AND  
   (hire_date < '01/01/91')  

Observação

Se você inserir as condições de pesquisa no formato mostrado imediatamente acima no painel SQL, mas depois fizer uma alteração na consulta nos painéis Diagrama ou Critérios, o Designer de Consulta e Exibição recriará a instrução SQL para corresponder ao formulário com a condição AND explicitamente distribuída para ambas as condições OR.

Consulte Também

Convenções para Combinar Condições de Pesquisa no Painel de Critérios (Visual Database Tools)
Especificar critérios de pesquisa (Visual Database Tools)