Maison >base de données >tutoriel mysql >Explication détaillée de la requête de jointure dans Mysql
Explication détaillée de la requête de jointure dans Mysql
Concepts de base
Les résultats de toutes les lignes obtenus en "joignant chaque ligne horizontalement" des deux tableaux.
Hypothèse :
Le tableau A a n1 lignes et m1 colonnes ;
Le tableau B a n2 lignes et m2 colonnes
Puis le tableau A et le tableau B ; Après « docking », il y aura :
n1*n2 lignes
m1+m2 colonnes ;
2. Le résultat une fois amarrés (connectés) est similaire à ceci :
3 Forme de base de requête de jointure :
du tableau 1 [Connexion méthode] rejoindre le tableau 2 [sur les conditions de connexion]
Classification des requêtes de connexion
1. >
En fait, il s'agit de "toutes les données" obtenues après avoir connecté deux tables selon le concept de base de connexion, sans aucun résultat de "filtrage". Le filtrage fait référence aux conditions de connexion. C'est-à-dire : la connexion croisée est la "toute connexion" sans conditions - elle est appelée le produit cartésien. La connexion croisée n'a généralement aucune valeur pratique, car après avoir connecté les données, la signification de chaque ligne de données peut être "perdue". Formulaire : du Tableau 1 [croix] rejoindre le Tableau 2 ou : du Tableau 1, Tableau 2 ; >Jointure interneFormulaire :du tableau 1 [intérieur] rejoint le tableau 2 sur le tableau 1. Champ 1 = Tableau 2. Signification :
Obtenez les données de ces lignes dans le résultat d'une "connexion croisée" qui répondent aux conditions de connexion définies (c'est-à-dire les conditions suivantes) Les connexions croisées ont souvent des "données dénuées de sens", comme suit :
2. Regardez les résultats de la connexion intérieure :
3. Le résultat est :
4. >
La jointure interne consiste en fait à trouver les lignes de données « significatives » dans le résultat des données d'une connexion croisée.Dans une connexion croisée, certaines données sont significatives et d'autres non (données erronées).
Cependant, veuillez noter : 1. Cette condition de connexion n'est pas définie arbitrairement, mais doit être définie en fonction de la relation réelle entre les tables. Habituellement, la relation est entre deux tables Les valeurs des deux champs avec une « relation de clé primaire et étrangère » sont égaux. 2. On peut voir que la requête de connexion est intrinsèquement logiquement cohérente avec la « relation de clé étrangère » que nous avons apprise précédemment. 3. Cependant, lorsque nous effectuons des jointures internes, nous n'exigeons pas que les deux tables "doivent" avoir des relations de clé étrangère - nous devons simplement comprendre d'un point de vue pratique qu'elles ont des relations de clé étrangère (relations de données ). , et leur relation est établie à l’aide de connexions internes lors de l’interrogation.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!