Jointure interne vs jointure externe

En SQL, une jointure est utilisée pour comparer et combiner - littéralement joindre - et renvoyer des lignes spécifiques de données de deux tables ou plus dans une base de données. Une jointure interne recherche et renvoie les données correspondantes des tables, tandis qu'une jointure externe recherche et renvoie les données correspondantes et certaines données différentes des tables.

Jointure interne

Une jointure interne se concentre sur la communauté entre deux tables. Lors de l'utilisation d'une jointure interne, il doit y avoir au moins quelques données correspondantes entre deux (ou plus) tables qui sont comparées. Une jointure interne recherche dans les tables des données correspondantes ou se chevauchant. Une fois trouvée, la jointure interne combine et renvoie les informations dans une nouvelle table.

Exemple de jointure interne

Prenons un scénario commun de deux tableaux: les prix des produits et les quantités. Les informations communes dans les deux tables sont le nom du produit, c'est donc la colonne logique sur laquelle joindre les tables. Certains produits sont courants dans les deux tableaux; d'autres sont uniques à l'une des tables et n'ont pas de correspondance dans l'autre table.

Une jointure interne sur les produits renvoie des informations sur les seuls produits communs aux deux tableaux.

Jointure externe

Une jointure externe renvoie un ensemble d'enregistrements (ou de lignes) qui incluent ce que la jointure interne retournerait mais inclut également d'autres lignes pour lesquelles aucune correspondance correspondante n'est trouvée dans l'autre table.

Il existe trois types de jointures externes:

  • Jointure externe gauche (ou jointure gauche)
  • Jointure externe droite (ou jointure droite)
  • Jointure externe complète (ou jointure complète)

Chacune de ces jointures externes fait référence à la partie des données qui est comparée, combinée et renvoyée. Parfois, des valeurs nulles seront produites dans ce processus car certaines données sont partagées tandis que d'autres ne le sont pas.

Jointure externe gauche

Une jointure externe gauche renverra toutes les données du tableau 1 et toutes les données partagées (donc, la partie interne de l'exemple de diagramme de Venn), mais uniquement les données correspondantes du tableau 2, qui est la jointure droite.

Exemple de jointure gauche

Dans notre exemple de base de données, il y a deux produits - les oranges et les tomates - sur la «gauche» (tableau des prix ) qui n'ont pas d'entrée correspondante sur la «droite» (tableau des quantités). Dans une jointure gauche, ces lignes sont incluses dans le jeu de résultats avec un NULL dans la colonne Quantité. Les autres lignes du résultat sont identiques à la jointure interne.

Jointure extérieure droite

Une jointure externe droite renvoie les données du tableau 2 et toutes les données partagées, mais uniquement les données correspondantes du tableau 1, qui est la jointure gauche.

Exemple de jointure droite

Semblable à l'exemple de la jointure gauche, la sortie d'une jointure externe droite comprend toutes les lignes de la jointure interne et deux lignes - brocoli et courge - de la `` droite '' (tableau des quantités ) qui n'ont pas d'entrées correspondantes à gauche.

Jointure externe complète

Une jointure externe complète, ou jointure complète, qui n'est pas prise en charge par le système de gestion de base de données MySQL populaire, combine et renvoie toutes les données de deux tables ou plus, qu'il y ait ou non des informations partagées. Considérez une jointure complète comme une simple duplication de toutes les informations spécifiées, mais dans une table, plutôt que dans plusieurs tables. Lorsque des données correspondantes sont manquantes, des valeurs nulles seront produites.

Ce ne sont que les bases, mais beaucoup de choses peuvent être faites avec les jointures. Il y a même des jointures qui peuvent exclure d'autres jointures!

Vidéo expliquant les jointures internes et externes

Cette vidéo explique la différence entre les différents types de jointures. Il est conçu pour commencer au point où commence la discussion sur les jointures.

Articles Connexes