Cet article fait partie d’un ensemble sur Access SQL. Il explique comment écrire une SELECT clause et présente des exemples de techniques que vous pouvez utiliser.
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
- Sélectionner tous les champs
- Sélectionner des valeurs distinctes
- Utiliser des noms de substitution pour des champs ou expressions : mot clé AS
- Sélectionner à l’aide d’une expression
Sélectionner des champs : clause SELECT
Une SELECT instruction commence généralement par une SELECT clause . Utilisez la clause pour spécifier les champs qui contiennent les données souhaitées dans une requête. Vous pouvez également utiliser des expressions au lieu de ou en plus de champs. Vous pouvez même utiliser une autre SELECT instruction comme champ. C’est ce qu’on appelle une sous-requête.
Supposons que vous souhaitiez connaître les numéros de téléphone de vos clients. Si le champ qui stocke ces nombres est nommé txtCustomerPhone, la SELECT clause se présente comme suit :
SELECT [txtCustomerPhone]
Vous pouvez mettre le nom entre crochets. Si le nom ne contient pas d’espaces ou de caractères spéciaux, les crochets sont facultatifs. Si c’est le cas, vous devez les utiliser.
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 au moins deux champs portant le même nom, ajoutez le nom de la source de données de chaque champ dans la SELECT clause . Utilisez le même nom de source de données que celui que vous utilisez dans la FROM clause .
Sélectionner tous les champs
Lorsque vous souhaitez inclure tous les champs d’une source de données, vous pouvez les lister individuellement dans la SELECT clause ou utiliser le caractère générique astérisque (*). Lorsque vous utilisez l’astérisque, Access détermine les champs que la source de données contient lors de l’exécution de la requête et les inclut tous. Cela permet de maintenir la requête à jour lorsque 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 avec plusieurs sources de données, incluez le nom de la source de données avec l’astérisque afin qu’Access puisse déterminer la source à utiliser.
Par exemple, supposons que vous souhaitez sélectionner tous les champs de la Orders table, mais uniquement l’adresse e-mail de la Contacts table. Votre SELECT clause peut ressembler à ceci :
SELECT Orders.*, Contacts.[E-mail Address]
Remarque
Conservez une trace du moment où vous utilisez l’astérisque. Si quelqu’un ajoute ultérieurement de nouveaux champs à la source de données et que vous ne les avez pas prévus, les résultats de votre requête peuvent ne pas correspondre à ce que vous souhaitez.
Sélectionner des valeurs distinctes
Si vous savez que votre instruction renverra des données en double et que vous souhaitez voir uniquement des valeurs distinctes, utilisez la DISTINCT mot clé dans votre SELECT clause. Par exemple, si certains clients utilisent le même numéro de téléphone, DISTINCT veillez à ne voir chaque numéro de téléphone qu’une seule fois :
SELECT DISTINCT [txtCustomerPhone]
Utiliser des noms de substitution pour des champs ou expressions : mot clé AS
Vous pouvez modifier l’étiquette affichée pour n’importe quel champ en mode Feuille de données à l’aide de la AS mot clé et d’un alias de champ dans votre SELECT clause. 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 souhaitez sélectionner des données à partir d’un champ nommé txtCustPhone, vous pouvez faciliter la lecture des résultats à l’aide d’un alias de champ :
SELECT [txtCustPhone] AS [Customer Phone]
Remarque
Vous devez utiliser un alias de champ lorsque vous utilisez une expression dans une SELECT clause .
Sélectionner à l’aide d’une expression
Parfois, vous souhaitez examiner des calculs basés sur vos données ou renvoyer uniquement une partie de la valeur d’un champ. Par exemple, supposons que vous souhaitiez retourner l’année de naissance des clients en fonction des données du BirthDate champ. Votre SELECT clause peut ressembler à ceci :
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Cette expression utilise la fonction DatePart et deux arguments : "yyyy" (une constante) et [BirthDate] (identificateur).
Vous pouvez utiliser n’importe quelle expression valide comme champ si elle retourne une valeur unique pour une valeur d’entrée unique.