Access SQL : concepts de base, vocabulaire et syntaxe

Access SQL : concepts de base, vocabulaire et syntaxe

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Lorsque vous souhaitez extraire des données d’une base de données, vous demandez pour les données à l’aide de Structured Query Language ou SQL. SQL est une langue de l’ordinateur qui ressemble beaucoup anglais, mais qui comprennent des programmes de base de données. Toutes les requêtes que vous exécutez utilisant SQL en coulisses.

Comprendre le fonctionne de SQL peut vous aider à créer des requêtes mieux et pouvez facilement vous permettant de mieux comprendre comment faire pour résoudre une requête qui ne retourne pas les résultats que vous souhaitez.

Il s’agit d’une d’un ensemble d’articles sur SQL Access. Cet article décrit l’utilisation de SQL pour sélectionner les données et utilise des exemples pour illustrer la syntaxe SQL.

Contenu de cet article

Qu’est SQL ?

Base clauses SQL : SELECT, FROM et WHERE

Trier les résultats : ORDER BY

Utilisation des données synthétisées : GROUP BY et HAVING

Combiner les résultats de la requête : UNION

Qu’est SQL ?

SQL est une langue de l’ordinateur pour utiliser des ensembles de faits et les relations entre elles. Programmes de base de données relationnelles, tel que Microsoft Office Access, utilisent SQL pour travailler avec des données. Contrairement à nombreux langages informatiques, SQL n’est pas difficile à lire et comprendre, même pour un débutant. Tels que de nombreuses langues de l’ordinateur, SQL est une norme internationale reconnu par les organismes de normalisation tels que ISO et ANSI.

Vous utilisez SQL pour décrire des ensembles de données qui peuvent vous aider à répondre aux questions. Lorsque vous utilisez SQL, vous devez utiliser la syntaxe correcte. Syntaxe est l’ensemble de règles par lequel les éléments d’une langue sont combinées correctement. La syntaxe SQL est basée sur la syntaxe anglais et utilise la plupart des mêmes éléments de Visual Basic pour la syntaxe d’Applications (VBA).

Par exemple, une instruction SQL simple qui Récupère une liste de noms pour les contacts dont le prénom est Mary peut ressembler à ceci :

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Remarque : SQL n’est pas utilisé uniquement pour manipuler les données, mais également pour la création et modification de la conception des objets de base de données, tels que des tables. La partie de SQL utilisée pour la création et modification des objets de base de données est appelée définition des données (Definition language). Cette rubrique n’aborde pas DDL. Pour plus d’informations, voir l’article créer ou modifier des tables ou index à l’aide d’une requête Définition des données.

Instructions SELECT

Pour décrire un ensemble de données en utilisant SQL, que vous rédigez une instruction SELECT. Une instruction SELECT contient une description complète d’un jeu de données que vous voulez obtenir à partir d’une base de données. Cela inclut les éléments suivants :

  • Quelles tables contiennent les données.

  • Comment les données de différentes sources sont liées.

  • Les champs et les calculs produira les données.

  • Critères de données doivent correspondre à inclure.

  • Si et comment trier les résultats.

Clauses SQL

Comme une phrase, une instruction SQL compose des clauses. Chaque clause effectue une fonction pour l’instruction SQL. Certaines clauses sont requis dans une instruction SELECT. Le tableau suivant répertorie les plus courants clauses SQL.

Clause SQL

Fonction

Obligatoire

SELECT

Génère la liste des champs qui contiennent les données pertinentes.

Oui

FROM

Génère la liste des tables qui contiennent les champs répertoriés dans la clause SELECT.

Oui

WHERE

Spécifie les critères de champs auxquels doit répondre chaque enregistrement pour être inclus dans les résultats.

Non

ORDER BY

Spécifie comment trier les résultats.

Non

GROUP BY

Dans une instruction SQL qui contient des fonctions d’agrégation, génère la liste des champs qui ne sont pas répertoriés dans la clause SELECT.

Uniquement en présence de tels champs

HAVING

Dans une instruction SQL qui contient des fonctions d’agrégation, spécifie les conditions qui s’appliquent aux champs qui sont répertoriés dans l’instruction SELECT.

Non

Termes SQL

Chaque clause SQL se compose des termes — comparable aux grammaticales. Le tableau suivant répertorie les types de termes SQL.

Terme SQL

Comparable partie du message

Définition

Exemple

identifiant

substantif

Un nom qui vous permet d’identifier un objet de base de données, telles que le nom d’un champ.

Clients. [Numéro de téléphone]

opérateur

verbe ou adverbe

Mot-clé qui représente une action ou la modifie.

AS

constante

substantif

Valeur qui ne change pas, telle qu’un nombre ou la valeur NULL.

42

expression

adjectif

Combinaison d’identifiants, d’opérateurs, de constantes et de fonctions qui correspondent à une valeur unique.

>= Produits.[Prix unitaire]

Haut de la Page

Base clauses SQL : SELECT, FROM et WHERE

Une instruction SQL prend la forme générale :

SELECT field_1
FROM table_1
WHERE criterion_1
;

Remarques : 

  • Access ignore les sauts de ligne dans une instruction SQL. Toutefois, envisagez d’utiliser une ligne pour chaque clause afin d’améliorer la lisibilité de vos instructions SQL pour vous et d’autres personnes.

  • Toutes les instructions SELECT se terminant par un point-virgule ( ;). Le point-virgule peut apparaître à la fin de la dernière clause ou sur une ligne par elle-même à la fin de l’instruction SQL.

Un exemple dans Access

L’exemple suivant illustre ce qui peut ressembler une instruction SQL pour une requête sélection simple dans Access :

Onglet d’objet SQL montrant une instruction SELECT

1. Sélectionnez clause

2. clause FROM

3. clause WHERE

Cet exemple instruction SQL lit « Sélectionner les données qui sont stockées dans les champs nommés adresse de messagerie et société de la table nommée Contacts, en particulier les enregistrements dans lesquels la valeur de la ville de champ est Seattle ».

Examinons l’exemple, une clause à la fois, pour voir comment fonctionne la syntaxe SQL.

La clause SELECT

SELECT [E-mail Address], Company

Il s’agit de la clause SELECT. Il est constitué d’un opérateur (sélectionnez) suivi de deux identificateurs ([adresse de messagerie] et société).

Si un identificateur contient des espaces ou des caractères spéciaux (par exemple, « adresse de messagerie »), il doit être placés entre crochets.

Une clause SELECT ne doit pas nécessairement affichent et indiquent que les tables qui contiennent les champs et ne peuvent pas spécifier des conditions à remplir par les données à inclure.

La clause SELECT s’affiche toujours en face de la clause FROM dans une instruction SELECT.

La clause FROM

FROM Contacts

Il s’agit de la clause FROM. Il est constitué d’un opérateur (FROM) suivi d’un identificateur (Contacts).

Une clause FROM ne répertorie pas les champs à sélectionner.

La clause WHERE

WHERE City="Seattle"

Il s’agit de la clause WHERE. Il est constitué d’un opérateur (où) suivi d’une expression (ville = « Seattle »).

Remarque : Contrairement à la sélectionner et à partir de clauses, la clause WHERE n’est pas un élément requis d’une instruction SELECT.

Vous pouvez effectuer un grand nombre des actions SQL vous permet d’effectuer à l’aide SELECT, FROM, clause WHERE. Plus d’informations sur la façon dont vous utilisez ces clauses sont présentées dans les articles complémentaires suivants :

Haut de la Page

Trier les résultats : ORDER BY

Comme Microsoft Excel, Access vous permet de trier les résultats d’une requête dans une feuille de données. Vous pouvez également spécifier dans la requête comment vous souhaitez trier les résultats lorsque la requête est exécutée, en utilisant une clause ORDER BY. Si vous utilisez une clause ORDER BY, c’est la dernière clause dans l’instruction SQL.

Une clause ORDER BY contient la liste des champs que vous souhaitez utiliser pour le tri, dans le même ordre que vous souhaitez appliquer les opérations de tri.

Par exemple, supposons que vous voulez que vos résultats triés d’abord par la valeur du champ société par ordre décroissant, et, il s'existe des enregistrements avec la même valeur pour la société, triés ensuite par les valeurs dans le champ adresse de messagerie dans l’ordre croissant. Votre clause ORDER BY serait se présenter comme suit :

ORDER BY Company DESC, [E-mail Address]

Remarque : Par défaut, Access trie les valeurs dans l’ordre croissant (A-Z, du plus petit au plus grand). Utilisez le mot-clé DESC tri des valeurs dans l’ordre décroissant à la place.

Pour plus d’informations sur la clause ORDER BY, consultez la rubrique Clause ORDER BY.

Haut de la Page

Utilisation des données synthétisées : GROUP BY et HAVING

Parfois, vous souhaitez travailler avec des données synthétisées, tels que le total des ventes en un mois ou les éléments plus cher dans un inventaire. Pour ce faire, vous appliquez un fonction d’agrégation à un champ dans votre clause SELECT. Par exemple, si vous souhaitez que votre requête pour afficher le nombre d’adresses de messagerie répertoriées pour chaque société, votre clause SELECT peut se présenter comme suit :

SELECT COUNT([E-mail Address]), Company

Les fonctions d’agrégation que vous pouvez utiliser dépendent du type de données qui se trouve dans le champ ou l’expression que vous voulez utiliser. Pour plus d’informations sur les fonctions d’agrégation disponibles, voir l’article Fonctions d’agrégation SQL.

Définir des champs qui ne sont pas utilisées dans une fonction d’agrégation : The GROUP BY clause

Lorsque vous utilisez les fonctions d’agrégation, vous généralement devez également créer une clause GROUP BY. Une clause GROUP BY répertorie tous les champs auxquels vous ne s’appliquent pas une fonction d’agrégation. Si vous appliquez des fonctions d’agrégation à tous les champs dans une requête, vous n’êtes pas obligé de créer la clause GROUP BY.

Une clause GROUP BY immédiatement après la clause WHERE, ou la clause FROM s’il n’existe aucune clause WHERE. Une clause GROUP BY répertorie les champs qu’ils apparaissent dans la clause SELECT.

Par exemple, pour continuer l’exemple précédent, si votre clause SELECT s’applique une fonction d’agrégation à [adresse de messagerie], mais pas à la société, votre clause GROUP BY ressemble à ce qui suit :

GROUP BY Company

Pour plus d’informations sur la clause GROUP BY, consultez la rubrique GROUP BY Clause.

Limiter les valeurs agrégées à l’aide de critères de groupe : la clause HAVING

Si vous souhaitez utiliser des critères pour limiter les résultats, mais le champ que vous souhaitez appliquer des critères est utilisée dans une fonction d’agrégation, vous ne pouvez pas utiliser une clause WHERE. À la place, vous utilisez une clause HAVING. Une clause HAVING fonctionne comme une clause WHERE, mais il est utilisée pour les données agrégées.

Par exemple, supposons que vous utilisez la fonction AVG (qui calcule la valeur moyenne) par le premier champ dans votre clause SELECT :

SELECT COUNT([E-mail Address]), Company

Si vous souhaitez que la requête à limiter les résultats en fonction de la valeur de cette fonction NB, vous ne pouvez pas utiliser un critère de ce champ dans la clause WHERE. À la place, vous stockez les critères dans une clause HAVING. Par exemple, si vous ne voulez que la requête renvoie les lignes s’il existe plus que les adresses d’un message électronique associés à la société, la clause HAVING peut se présenter comme suit :

HAVING COUNT([E-mail Address])>1

Remarque : Une requête peut avoir une clause WHERE et une clause HAVING : critères pour les champs qui ne sont pas utilisés dans une fonction d’agrégation dans la clause WHERE, et critères pour les champs qui sont utilisés avec les fonctions d’agrégation dans la clause HAVING.

Pour plus d’informations sur la clause HAVING, consultez la rubrique Clause HAVING.

Haut de la Page

Combiner les résultats de la requête : UNION

Lorsque vous souhaitez examiner toutes les données qui sont retournées par plusieurs requêtes sélection similaires ensemble, comme un ensemble combiné, vous utilisez l’opérateur UNION.

L’opérateur UNION vous permet de combiner deux instructions SELECT en un seul. Les instructions SELECT vous combinez peut comporter le même nombre de champs de sortie, dans le même ordre et avec les types de données identiques ou compatibles. Lorsque vous exécutez la requête, les données de chaque jeu de champs correspondants sont combinées dans un champ de sortie, afin que le résultat de la requête a le même nombre de champs en tant que chacune des instructions select.

Remarque : Pour les besoins d’une requête Union, les types de données numérique et texte sont compatibles.

Lorsque vous utilisez l’opérateur d’UNION, vous pouvez également spécifier si les résultats de la requête doivent inclure les lignes en double, le cas échéant, en utilisant le mot clé tous les.

La syntaxe SQL de base d’une requête union qui combine les deux instructions SELECT est la suivante :

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Par exemple, supposons que vous disposez d’une table nommée Products et une autre table nommée Services. Les deux tables ont des champs qui contiennent le nom de la garantie produit ou service, le prix, ou de garantissent la disponibilité, et que vous propose le produit ou service en mode exclusif. Bien que la table produits stocke des informations sur la garantie et les banques de tableau Services garantissent d’informations, les informations de base sont le même (si un produit ou service particulier inclut une hauteur en matière de qualité). Vous pouvez utiliser une requête union, telles que pour combiner les quatre champs des deux tables :

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Pour plus d’informations sur la combinaison des instructions SELECT en utilisant l’opérateur UNION, voir combiner les résultats de plusieurs requêtes sélection à l’aide d’une requête union.

Haut de la Page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

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.

×