Récupérer des enregistrements liés provenant de plusieurs tables comportant des jointures

Microsoft Query

Afficher tout Afficher tout

Récupérer des enregistrements liés provenant de plusieurs tables comportant des jointures

Cette rubrique fournit des informations sur les sujets suivants :

Jointure de tables

Jointures internes

Jointures externes

Jointures réflexives

Jointures externes complètes

Jointures de soustraction

Jointure de tables

Les bases de données sont constituées de plusieurs tables contenant des informations liées. Lorsque vous ajoutez deux tables (ou plus) à une requête, Microsoft Query crée automatiquement une « jointure » entre les tables lorsqu'il reconnaît un champ clé primaire dans une table et un champ dont le nom est identique dans l'autre table. Des lignes de jointure affichent les relations entre les données des tables.

Lignes de jointure entre des tables

Les lignes de jointure connectent la table Produits à la table Détails des commandes en liant le champ IDproduit de chaque table. La table Détails des commandes et la table Commandes sont également liées par le biais de leur champ IDcommande.

Il existe deux types de jointures de base qui peuvent être utilisées pour récupérer des enregistrements à partir de plusieurs tables. Une jointure interne récupère uniquement les enregistrements liés des tables. Une jointure externe récupère tous les enregistrements d'une table et les enregistrements liés d'une autre table.

En plus des jointures internes et externes, vous pouvez créer trois autres types de jointures : des jointures réflexives, externes complètes et de soustraction. Une jointure réflexive renvoie un jeu de résultats qui combine les informations d'une table. Une jointure externe complète renvoie tous les enregistrements des deux tables, même si ceux-ci ne sont pas liés. Une jointure de soustraction renvoie uniquement les enregistrements de la première table qui ne correspondent pas aux enregistrements de la deuxième table.

Retour au début

Jointures internes

Une jointure interne (type de jointure par défaut) récupère uniquement les enregistrements qui comportent la même valeur dans les champs joints des deux tables. Microsoft Query combine les enregistrements correspondants de chaque table, puis les affiche dans le jeu de résultats.

Exemple d'une jointure interne

Informations complémentaires

Joindre des tables dans une requête

Modifier le type de jointure entre les tables d'une requête

Retour au début

Jointures externes

Une jointure externe récupère tous les enregistrements d'une table et tous les enregistrements correspondants d'une autre table. Lorsque les valeurs des deux tables sont identiques, Microsoft Query combine les enregistrements correspondants et les affiche sous la forme d'un enregistrement unique dans le jeu de résultats. Lorsqu'un enregistrement de la table qui apporte tous ses enregistrements ne peut pas être mis en correspondance avec un enregistrement de l'autre table, l'enregistrement continue d'apparaître dans le jeu de résultats. Toutefois, Query affiche des cellules vides à l'endroit de cet enregistrement.

Exemple d'une jointure externe

Informations complémentaires

Joindre des tables dans une requête

Modifier le type de jointure entre les tables d'une requête

Retour au début

Jointures réflexives

Lorsque vous souhaitez combiner des informations dans une table, utilisez une jointure réflexive. Par exemple, dans une table d'employés, chaque enregistrement comprend l'ID d'employé du directeur responsable d'un employé. Le directeur se trouvant dans la même table que cet employé, vous pouvez lier la table à elle-même pour renvoyer à la fois le nom et l'ID d'employé du directeur.

Exemple de jointure réflexive

En liant une table à elle-même, vous pouvez récupérer à la fois l'ID et le nom du directeur.

Informations complémentaires

Récupérer plusieurs champs à l'aide d'une jointure réflexive

Retour au début

Jointures externes complètes

Lorsque vous souhaitez combiner tous les enregistrements provenant de deux tables, vous pouvez créer une requête de jointure externe complète. Ce type de requête renvoie toutes les données des deux tables, même lorsque celles-ci ne sont pas liées.

Tables contenant des données semblables avant une jointure externe complète

Par exemple, si vous disposez d'une table Clients et d'une table Commandes, vous pouvez utiliser une jointure externe complète pour renvoyer toutes les commandes en attente (de la table Commandes) et tous les clients qui n'ont pas passé de commande (de la table Clients).

Jeu de résultats affichant les clients qui n'ont pas passé de commande

Les deux premiers noms de cette liste n'ont pas passé de commande.

Remarque  Lorsque vous créez une jointure externe complète, Query affiche uniquement le jeu de résultats de la requête et non les tables utilisées à l'intérieur de la requête.

Informations complémentaires

Combiner toutes les données provenant de deux tables

Retour au début

Jointures de soustraction

Lorsque deux de vos tables contiennent des données semblables, comme deux tables de clients, et lorsque chaque table contient des informations qui ne figurent pas dans l'autre table, vous pouvez créer une jointure de soustraction. Une jointure de soustraction renvoie uniquement les enregistrements de la première table qui ne correspondent pas aux enregistrements de la deuxième.

Tables contenant des données semblables avant une jointure de soustraction

Deux tables contenant des données client semblables

Exemple d'une jointure de soustraction

Informations complémentaires

Récupérer des enregistrements qui ne sont pas communs à deux tables

Retour au début