Compartilhar via


Combinar as condições quando OU tiver precedência (Ferramentas de Banco de Dados Visuais)

aplica-se a: do SQL Server

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')  

Nota

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 Critérios (Visual Database Tools)
Especificar Critérios de Pesquisa (Visual Database Tools)