Partager via


Combiner des conditions lorsque OR est prioritaire (Visual Database Tools)

s’applique à : SQL Server

Pour lier des conditions avec OR et leur donner la priorité sur les conditions liées à AND, vous devez répéter la condition AND pour chaque condition OR.

Par exemple, imaginez que vous souhaitez trouver tous les employés qui ont été avec l’entreprise plus de cinq ans et qui ont des emplois de niveau inférieur ou sont retraités. Cette requête nécessite trois conditions, une condition unique liée à deux conditions supplémentaires avec AND :

  • Employés ayant une date d’embauche antérieure à cinq ans et

  • Les employés ayant un niveau de travail de 100 ou dont le statut est « R » (pour les retraités).

La procédure suivante montre comment créer ce type de requête dans le volet Critères.

Pour combiner des conditions lorsque OU a la priorité

  1. Dans le volet critères , ajoutez les colonnes de données que vous souhaitez rechercher. Si vous souhaitez rechercher la même colonne à l’aide de deux conditions ou plus liées à AND, vous devez ajouter le nom de colonne de données à la grille une fois pour chaque valeur que vous souhaitez rechercher.

  2. Créez les conditions à lier avec OR en entrant la première dans la colonne de la grille de filtre et la deuxième (et les suivantes) dans des colonnes Ou... séparées. Par exemple, pour lier des conditions avec OR qui recherchent les colonnes job_lvl et status, entrez = 100 dans la colonne Filtre de pour job_lvl et = 'R' dans le Or... colonne pour status.

    La saisie de ces valeurs dans la grille produit la clause WHERE suivante dans l’instruction dans le volet SQL :

    WHERE (job_lvl = 100) OR (status = 'R')  
    
  3. Créez la condition AND en la entrant une fois pour chaque condition OR. Placez chaque entrée dans la même colonne de grille que la condition OR à laquelle elle correspond. Par exemple, pour ajouter une condition AND recherchant la colonne hire_date et qui s'applique aux deux conditions OU, entrez < '1/1/91' dans la colonne Critères et la colonne ou.

    La saisie de ces valeurs dans la grille produit la clause WHERE suivante dans l’instruction dans le volet SQL :

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

    Pourboire

    Vous pouvez répéter une condition ET en l'ajoutant une seule fois, puis en utilisant les commandes Couper et Coller à partir du menu Modifier pour la répéter pour d'autres conditions OU.

La clause WHERE créée par le Concepteur de requêtes et de vues équivaut à la clause WHERE suivante, qui utilise des parenthèses pour spécifier la priorité d’OR sur AND :

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

Note

Si vous entrez les conditions de recherche dans le format indiqué immédiatement au-dessus dans le Volet SQL, mais apportez une modification à la requête dans les volets Diagramme ou Critères, le Concepteur de requêtes et de vues recrée l’instruction SQL afin qu'elle corresponde à la forme où la condition AND est explicitement répartie entre les deux conditions OR.

Voir aussi

Conventions pour combiner des conditions de recherche dans le volet critères (Visual Database Tools)
spécifier des critères de recherche (Visual Database Tools)