Modifier des instructions SQL pour affiner les résultats d’une requête

Modifier des instructions SQL pour affiner les résultats d’une requête

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

Si vos requêtes ne sont pas assez performantes, l’ajout d’instructions SQL de base peut vous permettre d’affiner vos résultats. Cet article présente plusieurs types d’instructions SQL ainsi que les clauses ou parties que vous pourriez modifier pour obtenir les résultats souhaités..

Remarque : Cet article ne s’applique pas aux applications web Access (type de base de données que vous créez dans Access et publiez en ligne). Pour plus d’informations, voir Créer une application Access.

Contenu de cet article

Créer une instruction Select

Personnalisation de la clause SELECT

Personnalisation de la clause FROM

Personnalisation de la clause WHERE

Personnalisation à l’aide de l’opérateur UNION

Créer une instruction SELECT

Une instruction SQL SELECT comprend deux ou trois clauses. La clause SELECT indique à la base de données où trouver les données et lui demande de retourner un résultat spécifique.

Remarque : Les instructions SELECT se terminent toujours par un point-virgule (;), placé soit à la fin de la dernière clause, soit seul sur une ligne à la fin de l’instruction SQL.

L’instruction SELECT suivante demande à Access d’extraire des informations des colonnes Adresse de messagerie et Société de la table Contacts spécifiquement lorsque la colonne Ville contient « Paris ».

Onglet d’objet SQL montrant une instruction SELECT

La requête ci-dessus comprend trois clauses : SELECT, FROM et WHERE.

1. La clause SELECT répertorie les colonnes contenant les données souhaitées et utilise un opérateur (SELECT) suivi de deux identifiants (Adresse de messagerie et Société). Si un identifiant contient des espaces ou des caractères spéciaux (« Adresse de messagerie » par exemple), il doit être entouré de crochets.

2. La clause FROM identifie la table source. Dans cet exemple, elle utilise un opérateur (FROM) suivi d’un identifiant (Contacts).

3. La clause WHERE est une clause facultative. Dans l’exemple, elle utilise un opérateur (WHERE) suivi d’une expression (Ville="Paris").

Pour plus d’informations sur les requêtes sélection, consultez créer une requête sélection simple.

Voici une liste de clauses SQL fréquemment utilisées :

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

Chaque clause SQL est composée de termes. Voici une liste de termes SQL fréquemment utilisés.

Terme SQL

Définition

Exemple

identifiant

Nom utilisé pour identifier un objet de base de données, tel que le nom de la colonne.

[[Adresse de messagerie] et Société

opérateur

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

AS

constante

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

42

expression

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

>= Produits.[Prix unitaire]

Haut de la Page

Personnalisation de la clause SELECT

Personnaliser

Exemple

Pour afficher uniquement les valeurs distinctes.

Utilisez le mot-clé DISTINCT dans votre clause SELECT.

Par exemple, lorsque vos clients proviennent de différentes succursales et que certains ont le même numéro de téléphone, si vous souhaitez n’afficher un numéro de téléphone qu’une seule fois, votre clause SELECT se présentera comme suit :

SELECT DISTINCT [txtCustomerPhone] 

Pour modifier l’affichage d’un identifiant en mode Feuille de données pour faciliter la lecture.

Utilisez l’opérateur AS (un mot-clé qui représente ou modifie une action) avec un alias de champ dans votre clause SELECT. Un alias de champ est un nom que vous affectez à un champ pour faciliter la lecture des résultats.

SELECT [txtCustPhone] AS [Customer Phone]

Personnalisation de la clause FROM

Personnaliser

Exemple

Vous pouvez utiliser un alias de table ou un autre nom que vous affectez à table dans une instruction SELECT. L’alias de table peut s’avérer utile si le nom de la table est long, particulièrement si plusieurs champs portent le même nom dans plusieurs tables différentes.

Pour sélectionner des données dans deux champs, tous deux nommés ID, l’un provenant de la table tblClient et l’autre de la table tblCommande :

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Utilisez l’opérateur AS pour définir des alias de table dans la clause FROM :

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Vous pouvez alors utiliser ces alias de table dans votre clause SELECT comme suit :

SELECT [C].[ID], 
[O].[ID]

Utilisez des jointures pour combiner des paires d’enregistrements issus de deux sources de données en un seul résultat ou pour spécifier si les enregistrements de l’une des tables doivent être inclus lorsqu’aucun enregistrement correspondant n’existe dans la table liée.

Joignez les tables de sorte que la requête combine les éléments des tables et exclue les éléments pour lesquels il n’existe aucune correspondance dans l’autre table.

Votre clause FROM peut se présenter comme suit :

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Utilisation des jointures

Il existe deux types de jointures : internes et externes. Les jointures internes sont les types de jointure les plus courants dans les requêtes. Lorsqu’une requête est exécutée avec une jointure interne, les seuls éléments inclus dans le résultat de la requête sont ceux pour lesquels existe une valeur commune dans les deux tables jointes.

Les jointures externes spécifient si les données doivent être incluses lorsqu’aucune valeur commune n’existe. Les jointures externes sont directionnelles, ce qui signifie que vous pouvez choisir d’inclure tous les enregistrements de la première table spécifiée dans la jointure (jointure gauche) ou d’inclure tous les enregistrements de la seconde table dans la jointure (jointure droite). Une jointure externe présente la syntaxe SQL suivante :

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Afficher des informations supplémentaires sur les à l’aide de jointures dans une requête.

Haut de la Page

Personnalisation de la clause WHERE

La clause WHERE comporte des critères qui permet de limiter le nombre d’éléments renvoyés dans une requête. Voir des exemples de critères de requête et leur fonctionnement.

Vous pouvez par exemple personnaliser la clause WHERE de base pour limiter les résultats d’une requête : supposons que vous souhaitiez connaître le numéro de téléphone d’un client et que vous ne vous souveniez plus que de son nom, Bagel. Dans cet exemple, les noms étant stockés dans le champ Nom, la syntaxe SQL se présente comme suit :

WHERE [LastName]='Bagel'

Utilisez également la clause WHERE pour combiner des sources de données pour les colonnes qui ont la correspondance des données, mais les différents types de données. Cela s’avère utile dans la mesure où vous ne pouvez pas créer une jointure entre des champs qui comportent des différents types de données. Utilisez un champ en tant que critère pour le champ avec le mot clé LIKE . Par exemple, si vous voulez utiliser les données d’un tableau des ressources et de la table employés, uniquement lorsque le type d’au sein du bien type champ de la table biens comporte le nombre 3 dans le champ Quantité de la table employés, voici l’aspect de votre clause WHERE :

WHERE field1 LIKE field2

Important :  Vous ne pouvez pas spécifier de critères pour un champ utilisé avec une fonction d’agrégation dans une clause WHERE. En revanche, vous pouvez utiliser une clause HAVING pour spécifier les critères des champs d’agrégation.

Haut de la Page

Personnalisation à l’aide de l’opérateur UNION

Utilisez l’opérateur UNION lorsque vous souhaitez afficher une vue combinée de plusieurs requêtes SELECT similaires ; par exemple, si votre base de données comprend une table nommée Produits et une autre nommée Services et que toutes deux ont trois champs : offre exclusive ou produit ou service exclusif ; prix ; et garantie ou engagement. Bien que la table Produits stocke des informations d’engagement et que la table Services stocke des informations de garantie, les informations de base sont les mêmes. Vous pouvez alors utiliser une requête UNION, telle que celle qui suit, pour combiner les trois champs des deux tables :

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Lorsque vous exécutez la requête, les données de chaque jeu de champs correspondants sont combinées dans un champ de destination. Pour inclure les champs en double dans les résultats, utilisez l’opérateur ALL.

Remarque :  L’instruction SELECT doit posséder le même nombre de champs de destination, dans le même ordre et avec des types de données identiques ou compatibles. Pour une requête UNION, les types de données numérique et de texte sont compatibles.

Pour plus d’informations sur les requêtes Union, voir utiliser une requête union pour afficher un résultat unifié à partir de plusieurs requêtes.

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.

×