Aller au contenu principal
Mis à jour le

C'est quoi une jointure externe dans Excel ?

Une jointure externe combine deux tables en conservant toutes les lignes d'une table (ou des deux), même si elles n'ont pas de correspondance dans l'autre table. Les valeurs manquantes sont remplacées par null.

À quoi sert une jointure externe dans Power Query

Une jointure externe fusionne deux tables sans perdre la moindre ligne, y compris celles qui n'ont aucune correspondance de l'autre côté. C'est exactement ce qui la sépare de la jointure interne, laquelle ne retient que les lignes appariées et laisse tomber le reste sans rien signaler. Là où l'interne resserre, l'externe conserve.

Tu t'en sers dès que tu croises des données de sources différentes et qu'aucune ligne ne doit disparaître au passage. Rapprocher une table de clients d'une table de commandes en gardant les clients qui n'ont jamais rien commandé en est le cas d'école. Une jointure interne les effacerait, quand l'externe gauche les garde et te laisse ensuite les repérer.

C'est l'équivalent direct des LEFT JOIN, RIGHT JOIN et FULL OUTER JOIN que tu écrirais en SQL, mais posé en quelques clics plutôt qu'en code. Les lignes restées sans vis-à-vis ne sont pas écartées pour autant. Leurs colonnes venues de la table opposée se remplissent simplement de null, ce trou que tu pourras filtrer ou remplacer ensuite.

Le piège
Une jointure externe garde toutes tes lignes, mais elle peut aussi en fabriquer. Quand la clé se répète dans la table jointe, chaque correspondance crée une ligne, et une table de 500 clients ressort parfois à 2000 après la fusion.

Comment faire une jointure externe dans Power Query

Une jointure externe se réalise dans l'éditeur Power Query, par l'onglet Accueil puis Fusionner des requêtes. Tu désignes la seconde table, la colonne clé commune aux deux, puis un type de jointure externe, gauche, droite ou complète, qui conserve les lignes sans correspondance au lieu de les écarter.

  1. 1Ouvre l'éditeur Power Query, puis sélectionne dans le volet Requêtes, à gauche, la première table à fusionner.
  2. 2Va dans l'onglet Accueil, groupe Combiner, puis clique sur Fusionner des requêtes pour ouvrir la boîte de dialogue Fusionner.
  3. 3Choisis la seconde table dans la liste déroulante du haut, celle qui vient se placer sous ta première requête.
  4. 4Clique sur la colonne clé dans la table du haut, puis sur la même clé dans la table du bas, pour apparier les deux colonnes.
  5. 5Déroule le menu Type de jointure en bas de la fenêtre, choisis un type externe (Externe gauche, Externe droite ou Externe complète), puis valide par OK.
  6. 6Clique sur l'icône à double flèche dans l'en-tête de la colonne fusionnée pour développer les champs de la seconde table, et décoche « Utiliser le nom de la colonne d'origine comme préfixe » pour garder des en-têtes propres.
L'astuce en plus
Le menu Type de jointure propose aussi Anti gauche et Anti droite. Une Anti gauche garde les seules lignes de la première table sans correspondance dans la seconde, comme tes clients sans commande, sans filtrer les null.

Quelle différence entre une jointure interne et une jointure externe

Une jointure interne ne garde que les lignes présentes des deux côtés, alors qu'une jointure externe garde en plus celles qui n'ont de correspondance que d'un seul côté. La première coupe tout ce qui ne s'apparie pas, la seconde le conserve et signale le manque par un null. C'est la seule différence de fond, mais elle change tout au résultat.

La conséquence se lit sur le nombre de lignes que tu récupères. Croise 500 clients avec leurs commandes en jointure interne, et un client sans commande disparaît purement de la sortie, sans le moindre avertissement. La même fusion en externe gauche te rend bien tes 500 clients, avec des null en face de ceux qui n'ont rien acheté.

La règle de choix en découle simplement. Prends l'interne quand seules les lignes complètes t'intéressent, comme un rapprochement où chaque commande doit avoir son client. Passe à l'externe dès qu'une absence est une information en soi, un client sans commande ou un produit jamais vendu que tu veux justement voir ressortir.

Comment choisir entre jointure externe gauche, droite et complète

Les trois jointures externes se règlent au même endroit, dans le menu Type de jointure de la boîte de dialogue Fusionner, et ne diffèrent que par la table dont elles gardent toutes les lignes. La position compte donc autant que le choix : la première requête sélectionnée est la table de gauche, la seconde est la table de droite.

  1. 1Externe gauche garde toutes les lignes de la table de gauche et n'ajoute de la table de droite que les correspondances trouvées. C'est de loin la plus courante, celle qui prolonge une table de référence avec des détails.
  2. 2Externe droite fait l'inverse et garde toutes les lignes de la table de droite, avec les seules correspondances venues de la gauche. Elle revient souvent à intervertir les deux tables d'une externe gauche.
  3. 3Externe complète garde toutes les lignes des deux tables à la fois, appariées ou non. Tu la choisis pour réconcilier deux listes et voir d'un coup ce qui manque de chaque côté.

Dans les trois cas, les lignes sans correspondance restent affichées avec des null dans les colonnes de la table opposée. Le type de jointure ne décide donc pas de la présence des null, seulement de la table dont tu ne veux perdre aucune ligne.

Le savais-tu ?
Derrière chaque fusion, Power Query écrit en langage M une fonction Table.NestedJoin, où le genre choisi devient un paramètre comme JoinKind.LeftOuter ou JoinKind.FullOuter. Tu produis donc une vraie jointure sans jamais taper une ligne de code.
FAQ

Questions fréquentes sur la jointure externe

Le null signale une ligne restée sans correspondance dans l'autre table. Il apparaît dans les colonnes venues de la table opposée, là où aucune clé ne s'est appariée. Tu peux filtrer sur ces null pour isoler les cas orphelins, ou les remplacer par 0 avant un calcul qui les additionnerait.

Ressources

Du mot à la pratique

Tu sais maintenant ce que le mot veut dire. Reste à s’en servir : la formule, le fichier, et le cours qui remet tout dans l’ordre.

Tout le lexique