Procédure : inclure ou exclure des lignes (Visual Database Tools)

Pour limiter le nombre de lignes qu'une requête SELECT doit renvoyer, créez des conditions de recherche ou des critères de filtre. Dans SQL, les conditions de recherche apparaissent dans la clause WHERE de l'instruction ou, si vous créez une requête d'agrégation, dans la clause HAVING.

Notes

Les conditions de recherche permettent également d'indiquer quelles lignes sont affectées par une requête appartenant à un des types suivants : Update, Insert Results, Insert Values, Delete ou Make Table.

Lors de l'exécution de la requête, Moteur de base de données examine et applique la condition de recherche à chacune des tables dans lesquelles vous demandez une recherche. Si la ligne remplit la condition, elle est incluse dans la requête. Voici un exemple d'une condition de recherche de tous les employés d'une région particulière :

region = 'UK'

Pour établir les critères d'inclusion d'une ligne dans un résultat, vous pouvez utiliser plusieurs conditions de recherche. Par exemple, le critère de recherche suivant se compose de deux conditions de recherche. La requête n'inclut une ligne dans l'ensemble des résultats que si elle remplit les deux conditions.

region = 'UK' AND product_line = 'Housewares'

Vous pouvez combiner ces conditions par AND ou OR. L'exemple ci-dessus utilise AND. Le critère suivant utilise OR. Le jeu de résultats inclut toutes les lignes remplissant l'une des conditions de recherche, ou les deux :

region = 'UK' OR product_line = 'Housewares'

Vous pouvez même combiner plusieurs conditions de recherche dans une seule et même colonne. Par exemple, le critère suivant combine deux conditions dans la colonne region :

region = 'UK' OR region = 'US'

Pour plus de détails sur la combinaison de conditions de recherche, consultez les rubriques suivantes :

Exemples

Voici quelques exemples des requêtes utilisant plusieurs opérateurs et critères de lignes :

  • Un littéral   Valeur logique, date, numérique ou de type texte. Dans l'exemple suivant, un littéral recherche toutes les lignes contenant des employés de la société travaillant au Royaume-Uni :

    WHERE region = 'UK'
    
  • Une référence de colonne   Compare les valeurs contenues dans une colonne avec celles contenues dans une autre. L'exemple suivant recherche dans une table products toutes les lignes dont le coût de production est inférieur au coût d'expédition :

    WHERE prod_cost < ship_cost
    
  • Une fonction   Référence à une fonction que la base de données principale peut résoudre pour calculer une valeur à rechercher. La fonction peut être définie par le serveur de base de données ou par l'utilisateur et renvoyer une valeur scalaire. L'exemple suivant recherche les commandes passées aujourd'hui (la fonction GETDATE( ) renvoie la date du jour) :

    WHERE order_date = GETDATE()
    
  • NULL   L'exemple suivant recherche dans une table authors tous les auteurs dont le prénom a été renseigné :

    WHERE au_fname IS NOT NULL
    
  • Un calcul   Résultat d'un calcul impliquant des littéraux, des références de colonnes ou d'autres expressions. L'exemple suivant recherche dans une table products toutes les lignes dont le prix de vente au détail dépasse le double du coût de production :

    WHERE sales_price > (prod_cost * 2)