Maison >base de données >tutoriel mysql >Quelle est la différence entre la jointure interne, la jointure externe gauche, la jointure externe droite et la jointure croisée ?
Explication : Dans l'instruction, A est sur le côté gauche de B et est une jointure gauche, donc la méthode d'opération est : A jointure gauche B enregistrements = Figure 3 partie publique jeu d'enregistrements C + table A jeu d'enregistrements A1
Dans la figure 3, c'est-à-dire l'aide qui existe dans le jeu d'enregistrements C est : 2 3 6 7 8
Dans la figure 1, c'est-à-dire l'aide qui existe dans tous les jeux d'enregistrements A du tableau A est : 1 2 3 4 5 6 7 8 9
L'aide existant dans le jeu d'enregistrements A1 du tableau A = (dans la figure 1, toutes les aides dans le tableau A) - (dans la figure 3, c'est-à-dire l'aide existant dans l'ensemble d'enregistrements C), le résultat final est : 1 4 5 9
De là, on peut conclure que les enregistrements de A laissés connectés à B dans la figure 5 = l'ensemble d'enregistrements de la partie publique C dans Figure 3 + le jeu d'enregistrements A1 du tableau A. Le résultat final peut être vu sur la figure 5 : Bnameid et Bid ne sont pas NULL. Les enregistrements sont tous dans le jeu d'enregistrements C dans la partie publique de la figure 3 ; et Bid comme NULL et Aid comme 1 4 5 9 sont les aides qui existent dans l'ensemble d'enregistrements A1 du tableau A.
(2) Right JOIN : c'est-à-dire l'ensemble d'enregistrements de la partie publique C de la figure 3 + l'ensemble d'enregistrements B1 de la table B.
L'instruction est la suivante : select * from A Right JOIN B ON A.Aid=B.Bnameid Le résultat de l'exécution est présenté dans la figure 6 ci-dessous :
Figure 6 : Données de jointure à droite
Description : Dans l'instruction, A est à gauche de B et est une jointure à droite, donc la méthode de fonctionnement est la suivante : Une jointure à droite des enregistrements B = Figure 3, jeu d'enregistrements de la partie publique C + table B jeu d'enregistrements B1
Dans la figure 3, l'aide qui existe dans le jeu d'enregistrements C est : 2 3 6 7 8
Dans la figure 2, le Bnameid qui existe dans tous les jeux d'enregistrements B de la table B est : 2 3 6 7 8 11
Table Le Bnameid qui existe dans le jeu d'enregistrements B B1 = (dans la figure 2, c'est-à-dire tous les Bnameids dans la table B) - (dans la figure 3, c'est-à-dire l'Aid qui existe dans le jeu d'enregistrements C). Le résultat final est : 11
À partir de là, Figure 6 Les enregistrements de la connexion droite de A dans B = le jeu d'enregistrements de la partie publique C dans la figure 3 + le jeu d'enregistrements de la table B B1. On peut voir sur la figure 6 que les enregistrements non NULL de Aid et Aname sont tous dans le jeu d'enregistrements de la partie publique C de la figure 3. L'enregistrement avec Aid et Aname comme NULL et Aid comme 11 est le Bnameid qui existe dans le ensemble d'enregistrements B1 du tableau B.
Connexion croisée : Lorsque deux tableaux sont combinés sans conditions, le nombre d'entrées = Figure 1 * Figure 2
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!