Utilisation du diagramme de Venn pour illustrer les types de connexion SQL
Le diagramme de Venn est une représentation visuelle efficace des connexions SQL, aidant les utilisateurs à comprendre comment les données de différentes tables sont combinées. Voici un résumé des différents types de connexion représentés à l'aide d'un diagramme de Venn modifié :
Dans le sens des aiguilles d'une montre à partir du coin supérieur droit :
1. Jointure intérieure (le cercle B est coloré en rouge, les parties qui se chevauchent sont colorées en vert)
-
Objectif : Renvoyer uniquement les lignes où il existe une correspondance entre les deux tables.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A INNER JOIN B ON A.Colour = B.Colour
-
Explication : L'instruction SQL donne la priorité à la table B, en la plaçant avant la clause "ON", mais les lignes résultantes se concentrent sur les données partagées entre les deux tables.
2. Jointure intérieure (contient uniquement des cercles B, les parties qui se chevauchent sont colorées en vert)
-
Objectif : Renvoyer uniquement les lignes du cercle B qui sont connectées à n'importe quelle ligne du cercle A (dans ce cas, il n'y en a pas).
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A INNER JOIN B ON A.Colour NOT IN (« Vert », « Bleu »)
-
Explication : La condition de jointure exclut certaines valeurs des cercles A, limitant ainsi les lignes résultantes aux cercles B.
3. Connexion croisée (toutes données incluses)
-
Objectif : Combinez chaque ligne du cercle A avec chaque ligne du cercle B, qu'il y ait un chevauchement ou une correspondance.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A CROSS JOIN B
-
Explication : Le nombre de lignes résultant est le produit du nombre de lignes dans chaque tableau (dans ce cas 4x4 = 16).
4. Jointure extérieure gauche (incluant un cercle, parties superposées colorées en vert)
-
Objectif : Contient toutes les lignes du cercle A (indépendamment du chevauchement ou non) et relie les lignes correspondantes du cercle B.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A LEFT OUTER JOIN B ON A.Colour = B.Colour
-
Instructions : Conservez toutes les lignes sans correspondance dans le cercle A et utilisez les valeurs NULL dans les colonnes du cercle B.
5. Jointure extérieure gauche (hors cercle A, les parties superposées sont colorées en vert)
-
Objectif : Similaire à la jointure précédente, mais inclut uniquement les lignes du cercle A qui ne sont non connectées à aucune ligne du cercle B.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A LEFT OUTER JOIN B ON A.Colour = B.Colour WHERE B.Colour IS NULL
-
Instructions : Isolez les lignes sans correspondance dans le cercle A, en produisant des lignes rouges séparées dans ce cas.
6. Jointure extérieure droite (y compris le cercle B, la partie superposée est colorée en vert)
-
Objectif : Semblable à une jointure externe gauche, mais conserve les lignes sans correspondance dans le cercle B et utilise les valeurs NULL dans les colonnes du cercle A.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A RIGHT OUTER JOIN B ON A.Colour = B.Colour
-
Remarque : Dans cet exemple, seules les lignes bleues du cercle B sont incluses car il n'y a aucune correspondance dans le cercle A.
7. Jointure externe complète (toutes les données incluses)
-
Objectif : Combinez toutes les lignes du cercle A et du cercle B, conservez les lignes non correspondantes et remplissez les colonnes des lignes non correspondantes avec des valeurs NULL.
-
Instruction SQL : SELECT A.Colour, B.Colour FROM A FULL OUTER JOIN B ON A.Colour = B.Colour
-
Remarque : La ligne de résultat comprend deux cercles et les lignes sans correspondance sont développées avec des valeurs NULL.
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!
Déclaration: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