Recommandé, 2024

Choix De L'Éditeur

Différence entre jointure interne et jointure externe dans SQL

Les jointures interne et externe sont les deux types de jointure. Join compare et combine les nuplets de deux relations ou tables. Inner Join spécifie la jointure naturelle, c'est-à-dire que si vous écrivez une clause Join sans mot-clé Inner, l'opération de jointure naturelle est effectuée. La différence potentielle entre les jointures internes et externes est qu'Inner Join ne renvoie que les nuplets correspondants de la table et que la jointure externe renvoie tous les nuplets des deux tables comparées. Discutons d’autres différences entre les jointures internes et externes à l’aide du tableau de comparaison ci-dessous.

Tableau de comparaison

Base de comparaisonJointure interneJointure externe
De baseLa jointure interne génère uniquement les nuplets correspondants de la table.Jointure externe affiche tous les nuplets des deux tables.
Base de donnéesLa taille potentielle de la base de données renvoyée par Inner Join est comparativement inférieure à celle de Outer Join.La jointure externe renvoie une base de données comparativement plus grande.
Les typesAucun types.Jointure externe gauche,
Jointure extérieure droite,
et rejoindre complètement externe.

Définition de jointure interne

La jointure interne est également appelée jointure naturelle. La jointure interne compare deux tables et combine le tuple correspondant dans les deux tables. Elle est également appelée comme type de jointure par défaut, car la clause Join est écrite sans le mot-clé inner, elle effectue la jointure naturelle. Si la clause Join est écrite sans mot clé Outer, une jointure interne est également effectuée.

La jointure interne peut être expliquée avec un exemple. Il y a deux tables d'étudiant et de département. Permet maintenant de comprendre ce que la jonction interne effectue.

SELECT Nom, Sem, Deparment_name FROM Student INNER JOIN Department ON Student.Department_ID = Department.ID.

Vous pouvez voir que seuls ces n-uplets sont obtenus dans la résultante où Student.Department_ID = Department.ID. Par conséquent, nous pouvons dire que Inner Join ne combine que le tuple correspondant de deux tables.

Définition de jointure externe

Contrairement à Inner Join, seuls les n-uplets générés ont les mêmes valeurs d'attribut dans la table comparée. Jointure externe génère tous les n-uplets de la table. La jointure externe est de trois types: jointure externe gauche, jointure externe droite et jointure externe complète .

Laissez-nous les comprendre un à un. Tout d'abord, prenons Left Outer Join.

Sélectionnez Nom, Nom_du_partiment. De l'étudiant quitté à l'extérieur Rejoignez un département, ON Student.Department_ID = Depoartment.ID.

Vous pouvez voir que tous les nuplets de la table des étudiants sont affichés dans le résultat.

Sélectionnez Nom, Nom_du_partiment Du département Droit extérieur Rejoignez Student ON Student.Department_ID = Depoartment.ID.

Vous pouvez voir que tous les nuplets de la table Department sont affichés.

Sélectionnez Nom, Nom_du_parteur De L'étudiant Complètement externe Rejoignez le département ON Student.Department_ID = Depoartment.ID.

Vous pouvez observer que tous les nuplets des deux tables sont affichés dans le résultat.

Principales différences entre les jointures internes et externes

  1. La différence fondamentale entre la jointure interne et la jointure externe réside dans le fait que la jointure interne compare et combine uniquement les nuplets correspondants des tables. D'autre part, la jointure externe compare et combine tous les nuplets des deux tables comparées.
  2. La taille de la base de données du résultat obtenu à partir de la jointure interne est plus petite que celle de la jointure externe.
  3. Il existe trois types de jointure externe gauche, externe et de jointure externe complète. Mais la jointure interne n'a pas de tels types.

Conclusion:

Les deux jointures sont très utiles. Son utilisation dépend des besoins de l'utilisateur.

Top