Clause WHERE

Indique les enregistrements des tables répertoriées dans la clause FROM qui sont affectées par une instruction SELECT, UPDATE ou DELETE.

Syntaxe

SELECT fieldlist
FROM tableexpression
WHERE criteria

Une instruction SELECT contenant une clause WHERE comprend les parties suivantes :

Élément

Description

listechamps

Nom du ou des champs à extraire avec leurs alias de noms de champs, prédicats de sélection (ALL, DISTINCT, DISTINCTROW ou TOP) ou autres options d’instruction SELECT.

tableexpression

Nom de la ou des tables à partir desquelles les données sont récupérées.

criteria

expression que les enregistrements doivent remplir pour être inclus dans les résultats de la requête.


Remarques

Le moteur de base de données Access sélectionne les enregistrements qui remplissent les conditions répertoriées dans la clause WHERE. Si vous ne spécifiez pas de clause WHERE, votre requête renvoie toutes les lignes de la table. Si vous spécifiez plusieurs tables dans votre requête sans inclure de clause WHERE ou JOIN, la requête génère un produit cartésien des tables.

La clause WHERE est facultative mais, quand elle est incluse, elle suit la clause FROM. Par exemple, vous pouvez sélectionner tous les employés du service des ventes (WHERE Dept = 'Sales') ou tous les clients âgés de 18 à 30 ans (WHERE Age Between 18 And 30).

Si vous n’utilisez pas de clause JOIN pour effectuer des opérations de jointure SQL sur plusieurs tables, l’objet Recordset ne peut pas être mis à jour.

La clause WHERE est similaire à la clause HAVING. Elle détermine les enregistrements sélectionnés. Par ailleurs, une fois les enregistrements groupés à l’aide de la clause GROUP BY, la clause HAVING détermine les enregistrements qui s’affichent.

Utilisez la clause WHERE pour éliminer les enregistrements qui ne doivent pas être regroupés par une clause GROUP BY.

Utilisez diverses expressions pour déterminer les enregistrements que l’instruction SQL renvoie. Par exemple, l’instruction SQL suivante sélectionne tous les employés dont le salaire est supérieur à 21 000 € :

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Une clause HAVING peut contenir jusqu’à 40 expressions liées par des opérateurs logiques tels que And (Et) et Or (Ou).

Lorsque vous entrez un nom de champ contenant une espace ou un signe de ponctuation, placez le nom entre crochets ([]). Par exemple, une table d’informations client peut inclure des informations sur les clients spécifiques :

SELECT [Customer’s Favorite Restarant]

Lorsque vous spécifiez l’argument criteria (critères), les littéraux de date doivent être au format américain US, même si vous n’utilisez pas la version américaine du moteur de base de données Access. Par exemple, le 10 mai 1996 s’écrit 10/5/96 en France, et 5/10/96 aux États-Unis. Veillez à placer votre littéraux de date entre signes dièse (#), comme illustré dans les exemples suivants.

Pour rechercher des enregistrements datés du 10 mai 1996 dans une base de données en France, vous devez utiliser l’instruction SQL suivante :

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

Vous pouvez également utiliser la fonction DATEVAL qui tient compte des paramètres internationaux établis par Microsoft Windows®. Par exemple, pour les États-Unis d’Amérique, utilisez le code suivant :

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

Et pour la France, utilisez ce code :

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Remarque : Si la colonne référencée dans la chaîne des critères est de type GUID, l’expression des critères utilise une syntaxe légèrement différente :

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

N’oubliez pas d’inclure les accolades et traits d’union imbriqués, comme illustré.



Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×