Gérer les données à l’aide de requêtes

Créer des requêtes avec des jointures externes

Votre navigateur ne prend pas en charge la vidéo. Installez Microsoft Silverlight, Adobe Flash Player ou Internet Explorer 9.

Vous souhaitez parfois afficher tous les enregistrements d’une table, ainsi que les enregistrements correspondants d’une autre table, dans vos requêtes. Pour ce faire, vous pouvez créer des jointures externes.

Les jointures internes n’affichent des données que lorsqu’il existe une référence correspondante dans les deux sources de données connectées. Par exemple, si vous voulez afficher les produits et les quantités vendues, vous pouvez créer une jointure interne entre les tables Produits et Détails de la commande. Lorsque vous exécutez la requête, seuls les produits inclus dans des commandes (et qui apparaissent donc dans les deux tables) sont renvoyés.

En revanche, les jointures externes renvoient toutes les données d’une source de données et certaines données d’une autre table ou source de données.

Par exemple, pour consulter les produits qui ne se vendent pas, vous pouvez créer une requête qui affiche la référence produit dans la table Produits et les références des commandes correspondantes dans la table Détails des commandes. Les produits sans enregistrement correspondant dans la table Détails de la commande renvoient le nom du produit sans valeur pour le champ Réf commande.

Jointures externes gauches et jointures externes droites

Dans une jointure externe, la table qui affiche tous ses enregistrements est appelée table de base. La table qui n’affiche que certains enregistrements (correspondants) est appelée table secondaire.

La boîte de dialogue Propriétés de la jointure décrit ce qui apparaît avec différents types de jointures :

Capture d’écran de trois tables et de leurs propriétés de jointure

Supposons que vous ayez créé une requête destinée à afficher les produits achetés par vos clients. Vos champs de destination sont Nom du produit, Réf commande et Quantité.

  1. Jointure interne. Inclure uniquement les lignes (enregistrements) dans lesquelles les champs joints des deux tables sont égaux (par exemple, les produits auxquels des commandes sont associées uniquement).

  2. Jointure externe gauche. Inclure tous les enregistrements de la table sous Nom de la table de gauche et seulement ceux de la table sous Nom de la table de droite dans lesquels les champs joints sont égaux (par exemple, toutes les commandes, mais seulement les quantités et les références produit des commandes auxquelles des produits sont associés).

  3. Jointure externe droite. Inclure tous les enregistrements de la table sous Nom de la table de droite et seulement ceux de la table sous Nom de la table de gauche dans lesquels les champs joints sont égaux (par exemple, tous les produits, même s’il n’y a aucune commande pour eux. En pareil cas, des valeurs vides apparaissent dans les champs Réf commande et Quantité).

Comme vous pouvez le voir dans ces exemples, il est important de pouvoir distinguer la table de gauche de celle de droite. Cela ne correspond d’ailleurs pas nécessairement à la disposition réelle des tables dans la fenêtre de requête. Pour bien comprendre les données que vous obtiendrez à partir de votre requête, lisez attentivement le texte dans la boîte de dialogue Propriétés de la jointure.

1. Ajouter des sources de données

  • Sélectionnez Créer > Création de requête.

Ajoutez toutes les tables et requêtes dont vous avez besoin en tant que sources de données. (Ne vous inquiétez pas. Si vous en oubliez une, vous pourrez toujours ajouter d’autres sources de données par la suite.)

S’il parvient à les détecter ou les déduire, Access peut afficher des relations pour les sources de données.

2. Ajouter une jointure

  • Si vous ne voyez pas de relation entre les sources, ajoutez une jointure. Établissez celle-ci par glisser-déplacer à partir du champ souhaité dans une source de données vers le champ correspondant dans une autre source de données. La table d’origine est celle qui apparaîtra sur la gauche dans la boîte de dialogue Propriétés de la jointure. Access crée une jointure interne par défaut. Si vous avez besoin d’une jointure externe, vous pouvez modifier son type.

    Capture d’écran de la jointure entre deux tables

3. Modifier une jointure

  1. Double-cliquez sur la ligne représentant la jointure que vous voulez modifier.

  2. Dans la boîte de dialogue Propriétés de la jointure, sélectionnez la deuxième ou troisième option pour créer une jointure externe. Sélectionnez ensuite OK.

    Veillez à identifier la table de base, celle dont proviennent tous les enregistrements affichés.

    Capture d’écran des propriétés de jointure avec le nom de la table de gauche mis en évidence

4. Exécuter la requête

Suivez la procédure habituelle de création d’une requête : ajoutez des champs de destination, ajoutez des critères et exécutez ou enregistrez votre requête. Pour savoir comment procéder, voir Créer des requêtes de base.

Autres actions

Créer des requêtes de base

Formation sur Excel

Formation sur Outlook

Voyons comment utiliser des jointures externes gauches et droites dans une requête Sélection.

Les jointures externes ont un côté gauche et un côté droit. Elles renvoient TOUTES les données d’une table et uniquement les données CORRESPONDANTES de l’autre table. Elles sont utiles quand vous souhaitez savoir quand quelque chose ne s’est PAS produit. Par exemple, un certain article ne se vend PAS ou des étudiants ne s’inscrivent PAS à un certain cours.

Voici d’autres informations intéressantes.

La table qui renvoie TOUTES les données est appelée « table de base ». La table qui renvoie les correspondances est appelée « table secondaire ».

C’est la direction de la jointure qui définit quelle est la table de base et quelle est la table secondaire.

Si vous utilisez une jointure externe droite, la table de droite est la table de base. Si vous utilisez une jointure externe gauche, la table de gauche est la table de base.

Pour contrôler si vous utilisez une jointure externe gauche ou droite, utilisez la boîte de dialogue Propriétés de la jointure. Sélectionnez la ligne de jointure, puis cliquez avec le bouton droit ou appuyez deux fois dessus. Sélectionnez Propriétés de la jointure, puis la deuxième ou troisième option.

Voyons comment cela fonctionne.

Dans l’onglet Créer, sélectionnez Création de requête. Ici, nous allons ajouter les tables Détails de la commande et Produits.

Comme vous le voyez, Access a utilisé une relation un-à-plusieurs sous forme de MODÈLE pour la jointure. Il s’agit donc d’une jointure interne.

Nous ajoutons les champs Nom du produit et Quantité. Si nous exécutons la requête, celle-ci renvoie uniquement les données des produits qui ont été commandés.

En effet, si la requête renvoyait des données correspondant à des produits non commandés, des enregistrements vides s’afficheraient.

Dans le mode Création, cliquons avec le bouton droit ou appuyons deux fois sur la ligne de jointure et sélectionnons Propriétés de la jointure. Sélectionnons la deuxième option et observons la ligne de jointure.

La flèche nous indique qu’il s’agit d’une jointure externe qui pointe également vers la table secondaire. Exécutons la requête, trions les données des plus petites aux plus grandes. Vous savez à présent quels produits ne se vendent pas.

Que se passe-t-il donc si nous utilisons une jointure externe droite à la place ?

Nous apportons les modifications, exécutons la requête et obtenons le même résultat qu’avec la jointure interne : aucun enregistrement n’est vide.

Pour comprendre pourquoi, examinons la boîte de dialogue Propriétés de la jointure.

Nous renvoyons toutes les données de la table Détails de la commande, mais uniquement les CORRESPONDANCES à partir de la table Produits. En d’autres termes, nous voyons seulement les produits qui ont une commande correspondante. Le résultat est le même que celui renvoyé par une jointure interne.

Vous savez maintenant comment utiliser des jointures externes dans une requête Sélection qui utilise plusieurs sources de données. Par conséquent, réfléchissez bien à vos jointures. Vous pouvez les modifier si vous n’obtenez pas le résultat souhaité.

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.

×