Maison > base de données > tutoriel mysql > Jointures internes et externes dans SQL : quelle est la différence ?

Jointures internes et externes dans SQL : quelle est la différence ?

Linda Hamilton
Libérer: 2025-01-25 17:33:11
original
713 Les gens l'ont consulté

Inner vs. Outer Joins in SQL: What's the Difference?

Disséquer l'anatomie des jointures internes et externes

Bien que les jointures SQL fournissent un mécanisme puissant pour combiner des ensembles de données, les nuances entre les jointures internes et externes peuvent être énigmatiques. Cet article approfondit leurs caractéristiques distinctes, vous offrant une compréhension complète de ces types de jointures.

Jointure interne : intersection du diagramme de Venn

Une jointure interne, comme son nom l'indique, se concentre sur le terrain commun entre deux tables, A et B. Il récupère les lignes qui partagent des valeurs correspondantes dans la condition de jointure. Imaginez un diagramme de Venn où A et B représentent des cercles : une jointure interne fournit les données qui se trouvent dans la partie qui se chevauche des cercles.

Jointure externe : unir le diagramme de Venn

Contrairement au diagramme de Venn les jointures, les jointures externes embrassent l'union des tables impliquées. Ils cherchent à récupérer toutes les lignes d'au moins une des tables, qu'il existe ou non une ligne correspondante dans l'autre table. L'ensemble de données résultant ressemble à l'ensemble de la zone couverte par les parties qui se chevauchent et qui ne se chevauchent pas du diagramme de Venn.

Variantes de jointures externes : GAUCHE, DROITE et COMPLÈTE

Pour affiner davantage le concept de jointures externes, SQL propose trois variantes :

  • Jointure externe gauche : Cette jointure donne la priorité à la récupération de toutes les lignes du tableau de gauche (A). Pour les correspondances manquantes dans le tableau de droite (B), il utilise des valeurs nulles pour représenter l'espace vide.
  • Jointure externe droite : Similaire à la jointure externe gauche, mais cette jointure donne la priorité à la table de droite (B), en remplissant les valeurs nulles pour les lignes non correspondantes dans la table de gauche (A).
  • Jointure externe complète : Cette jointure englobe tous lignes des deux tables, en recourant à des valeurs nulles pour toutes les lignes sans correspondance dans A ou B.

Illustrer avec un exemple

Pour solidifier votre compréhension, considérons un exemple avec deux tables A et B, chacun avec une seule colonne :

A B
1 3
2 4
3 5
4 6

Intérieur rejoindre :

SELECT * FROM A INNER JOIN B ON A.A = B.B;
Copier après la connexion
Copier après la connexion

Sortie :

A B
3 3
4 4

Jointure externe gauche :

SELECT * FROM A LEFT OUTER JOIN B ON A.A = B.B;
Copier après la connexion

Sortie :

A B
1 null
2 null
3 3
4 4

Extérieur droit rejoindre :

SELECT * FROM A RIGHT OUTER JOIN B ON A.A = B.B;
Copier après la connexion

Sortie :

A B
3 3
4 4
null 5
null 6

Jointure externe complète :

SELECT * FROM A INNER JOIN B ON A.A = B.B;
Copier après la connexion
Copier après la connexion

Sortie :

A B
1 null
2 null
3 3
4 4
null 5
null 6

Comprendre les différents types de jointures et leurs cas d'utilisation est crucial pour extraire et combiner efficacement données provenant de diverses sources. Ainsi, la prochaine fois que vous travaillerez avec des bases de données, n'oubliez pas la distinction entre les jointures internes et externes et exploitez leur puissance pour créer des requêtes précises et informatives.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal