Cet article fait partie d’une série d’articles à propos d’Access SQL. Il explique comment écrire une clause WHERE et s’appuie sur des exemples pour illustrer différentes techniques que vous pouvez utiliser lorsque vous écrivez une telle clause.
Pour une vue d’ensemble d’Access SQL, voir l’article Access SQL : concepts de base, vocabulaire et syntaxe.
Contenu de cet article
Sélectionner des champs : clause SELECT
Une instruction SELECT commence généralement par une clause SELECT. Vous utilisez une clause SELECT pour spécifier les noms des champs contenant des données que vous souhaitez utiliser dans une requête. Vous pouvez également utiliser des expressions au lieu de ou en plus des champs. Vous pouvez même utiliser une autre instruction SELECT en tant que champ : il s’agit d’une sous-requête.
Imaginons que vous vouliez connaître les numéros de téléphone de vos clients. En supposant que le champ qui stocke les numéros de téléphone des clients est nommé txtCustPhone, la clause SELECT se présente comme suit :
SELECT [txtCustomerPhone]
Vous pouvez mettre le nom entre crochets. Si le nom ne contient aucun espace ou caractère spécial (comme des signes de ponctuation), les crochets sont facultatifs. Si le nom contient des espaces ou des caractères spéciaux, vous devez utiliser des crochets.
Conseil : Un nom qui contient des espaces est plus facile à lire et peut vous faire gagner du temps lorsque vous concevez des formulaires et des rapports, mais peut finir par vous rendre plus tapé lorsque vous écrivez des instructions SQL. Vous devez tenir compte de ce fait lorsque vous nommez des objets dans votre base de données Access.
Si votre instruction SQL comporte deux champs ou plus du même nom, vous devez ajouter le nom de la source de données de chaque champ au nom du champ dans la clause SELECT. Vous utilisez pour la source de données le nom que vous utilisez dans la clause FROM.
Sélectionner tous les champs
Lorsque vous voulez inclure tous les champs d’une source de données, vous pouvez soit les répertorier individuellement dans la clause SELECT, soit utiliser le caractère générique astérisque (*). Lorsque vous utilisez l’astérisque, lors de l’exécution de la requête, Access détermine les champs qui contiennent la source de données, et les inclut tous dans la requête. Cela aide à s’assurer que la requête reste à jour si de nouveaux champs sont ajoutés à la source de données.
Vous pouvez utiliser l’astérisque avec une ou plusieurs sources de données dans une instruction SQL. Si vous utilisez l’astérisque et s’il existe plusieurs sources de données, vous devez inclure le nom de la source de données avec l’astérisque afin qu’Access puisse déterminer la source de données dont tous les champs doivent être inclus.
Par exemple, supposons que vous vouliez sélectionner tous les champs de la table Orders (Commandes), mais uniquement l’adresse e-mail de la table Contacts. Votre clause SELECT pourrait ressembler à ceci :
SELECT Orders.*, Contacts.[E-mail Address]
Remarque : Conservez une trace du moment où vous utilisez l’astérisque. Si de nouveaux champs sont ajoutés à la source de données par la suite sans que vous l’ayez planifié, vos résultats de requête pourraient ne pas être ceux que vous souhaitez.
Sélectionner des valeurs distinctes
Si vous savez que votre instruction aura pour effet de sélectionner des données redondantes et préférez n’afficher que des valeurs distinctes, vous pouvez utiliser le mot clé DISTINCT dans votre clause SELECT. Par exemple, supposons que chacun de vos clients représente des intérêts différents dont certains utilisent le même numéro de téléphone. Si vous souhaitez être certain de ne voir chaque numéro de téléphone qu’une seule fois, votre clause SELECT se présente comme suit :
SELECT DISTINCT [txtCustomerPhone]
Utiliser des noms de substitution pour des champs ou expressions : mot clé AS
Vous pouvez modifier l’étiquette qui s’affiche pour tout champ en mode Feuille de données en utilisant le mot clé AS et un alias de champ dans votre clause SELECT. Un alias de champ est un nom que vous attribuez à un champ dans une requête pour rendre les résultats plus lisibles. Par exemple, si vous voulez sélectionner des données d’un champ nommé txtCustPhone et que le champ contient des numéros de téléphone de clients, vous pouvez améliorer la lisibilité de vos résultats en utilisant un alias de champ dans votre instruction SELECT comme suit :
SELECT [txtCustPhone] AS [Customer Phone]
Remarque : Vous devez utiliser un alias de champ lorsque vous utilisez une expression dans une clause SELECT.
Sélectionner à l’aide d’une expression
Il se peut que vous vouliez examiner les calculs basés sur vos données ou n’extraire qu’une partie des données d’un champ. Par exemple, supposons que vous souhaitiez renvoyer l’année de naissance des clients sur la base des données figurant dans le champ BirthDate de votre base de données. Votre clause SELECT pourrait ressembler à ceci :
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Cette expression se compose de la fonction PartDate et de deux arguments : « aaaa » (constante) et [BirthDate] (identificateur).
Vous pouvez utiliser en tant que champ toute expression valide si l’expression produit une valeur unique en sortie quand elle reçoit un valeur unique en entrée.