Jointure interne vs jointure externe


En SQL, un joindre est utilisé pour comparer et associer littéralement - et pour renvoyer des lignes spécifiques de données à partir de deux tables ou plus d'une base de données. Un jointure interne trouve et retourne les données correspondantes des tables, tandis qu'un jointure externe trouve et renvoie les données correspondantes et des données différentes des tables.

Jointure interne

Une jointure interne met l'accent sur les points communs entre deux tables. Lors de l'utilisation d'une jointure interne, il doit exister au moins des données correspondantes entre deux (ou plusieurs) tables comparées. Une jointure interne recherche dans les tables des données correspondantes ou qui se chevauchent. 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 à deux tableaux: les prix et les quantités de produits. Les informations communes dans les deux tables sont le nom du produit, ce qui en fait la colonne logique pour joindre les tables. sur. 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 intérieure sur Des produits renvoie des informations sur les seuls produits communs dans les deux tableaux.

Jointure externe

Une jointure externe renvoie un ensemble d'enregistrements (ou de lignes) qui incluent ce que devrait renvoyer une jointure interne, mais é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 NULL seront produites dans ce processus car certaines données sont partagées alors 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 (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 - à gauche (Des prix table) qui ne correspondent pas à l'entrée "droite" (table des quantités). Dans une jointure à gauche, ces lignes sont incluses dans le jeu de résultats avec une valeur 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 jointure gauche, la sortie d'une jointure externe droite inclut toutes les lignes de la jointure interne et deux lignes - brocoli et squash - à partir de la 'droite' (Quantités table) qui n'ont pas d'entrées correspondantes à gauche.

Jointure complète

Une jointure externe complète, ou jointure complète, qui est ne pas pris en charge par le populaire système de gestion de base de données MySQL, combine et renvoie tout données de deux tables ou plus, qu’il existe ou non des informations partagées. Pensez à une jointure complète comme à une simple duplication de toutes les informations spécifiées, mais dans une table plutôt que de plusieurs tables. Lorsque les données correspondantes sont manquantes, des valeurs NULL seront produites..

Ce ne sont que des bases, mais beaucoup de choses peuvent être faites avec des 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 différents types de jointures. Il est prévu de commencer au début de la discussion sur les jointures.

Références

  • Différence entre jointure interne et externe - Débordement de pile
  • Jointure interne SQL - Quackit
  • Jointure externe SQL - Quackit
  • Utiliser des jointures internes - Microsoft SQL Server
  • Utiliser des jointures externes - Microsoft SQL Server
  • Représentation visuelle des jointures SQL - CodeProject
  • Wikipedia: Rejoindre (SQL)