Maison >base de données >tutoriel mysql >Qu'est-ce que la requête de connexion MySQL

Qu'est-ce que la requête de connexion MySQL

王林
王林avant
2023-05-30 23:50:421467parcourir

INNERJOIN

  • INNERJOIN est l'opération de connexion la plus couramment utilisée. Décrite en termes mathématiques, cette phrase peut être réécrite ainsi : du point de vue de la théorie des ensembles, nous avons besoin de l'intersection de deux ensembles et du point de vue du produit cartésien, nous devons filtrer les éléments du produit cartésien qui satisfont à la condition ON ;

  • À mon avis, les jointures internes sont similaires aux jointures équivalentes. Les jointures naturelles sont une connexion spéciale dans les jointures internes

#. 🎜🎜#La différence entre une connexion naturelle et une connexion équivalente

Qu'est-ce que la connexion naturelle ?

  • La jointure naturelle est une équijointure spéciale, qui nécessite que les composants comparés dans deux relations soient le même groupe d'attributs, et dans le résultat, supprimez les colonnes d'attributs en double.

Qu'est-ce qu'une connexion à valeur égale ?

  • Equijoin est une méthode de connexion courante pour les opérations de jointure relationnelle. Il s'agit d'un cas particulier de connexion conditionnelle (ou connexion θ) lorsque l'opérateur de connexion est "=", c'est-à-dire lorsque θ=0

Exemple d'analyse : # 🎜🎜#

Tableaaa

Quest-ce que la requête de connexion MySQLTablebbb :

# 🎜 🎜 #Interroger les données avec les attributs égaux C B D dans la table aaa et la table bbbQuest-ce que la requête de connexion MySQL

Requête Equijoin :

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

Résultat :

#🎜 🎜#

Requête de connexion naturelle :

-- 自然连接用关键字 natural join
SELECT*from aaa natural join bbb;
Quest-ce que la requête de connexion MySQLRésultat :

À partir des deux résultats ci-dessus, nous pouvons obtenir Pour conclure, une équijointure sélectionne des données spécifiques de valeurs égales à partir de l'intersection de deux tables. La jointure naturelle fait référence au fait de prendre des données avec les mêmes attributs et des valeurs d'attribut égales dans deux tables et d'éliminer ces mêmes colonnes d'attributs.

Quest-ce que la requête de connexion MySQLComment implémenter la jointure interne

Le premier type : où

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

Le deuxième type : jointure interne

select*from aaa inner join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Le troisième type : join

select*from aaa join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Le quatrième type : STRAIGHT_JOIN

select*from aaa STRAIGHT_JOIN bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Les trois derniers ont le même effet, et le troisième type peut être compris comme l'abréviation du deuxième type . La principale différence entre le quatrième et le deuxième type réside dans la méthode d'insertion. Les performances du quatrième type sont légèrement inférieures. Trois types : jointure externe gauche, jointure externe droite, jointure externe complète. Vous pouvez utiliser des jointures gauches, des jointures droites et des jointures complètes dans les instructions SQL pour réaliser cette fonction.

jointure à gauche

Qu'est-ce qu'une jointure à gauche ?

    LEFT JOIN signifie prendre l'intersection du tableau A et du tableau B, et inclure également les données restantes dans le tableau de gauche. Du point de vue du produit cartésien, nous devons d'abord sélectionner les enregistrements qui répondent aux conditions de la clause ON, puis ajouter les enregistrements restants dans le tableau de gauche A
  • #🎜 🎜#
  • Implémentation du code :
select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Résultat :

right join

Quest-ce que la requête de connexion MySQL Qu'est-ce que une jointure à gauche ?

De même, RIGHT JOIN équivaut à obtenir l'intersection du tableau A et du tableau B, plus les données restantes du tableau B. Lorsque vous décrivez la bonne jointure, vous pouvez commencer du point de vue du produit cartésien, c'est-à-dire sélectionner les enregistrements qui répondent à la condition ON et leur ajouter les enregistrements non sélectionnés dans la bonne table

Quest-ce que la requête de connexion MySQL #🎜🎜 #

Implémentation du code :

select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

Résultat :
  • Connexion complète# 🎜🎜#
La jointure externe complète consiste à trouver l'union des ensembles de deux tables A et B. Du point de vue du produit cartésien, il s'agit de sélectionner les enregistrements dont la condition de clause ON est vraie dans le produit cartésien, puis d'ajouter les enregistrements restants dans la table de gauche, et enfin d'ajouter les enregistrements restants dans la table de droite. De plus, MySQL ne prend pas en charge OUTER JOIN, mais nous pouvons implémenter des opérations UNION sur les résultats des jointures gauche et droite.

Quest-ce que la requête de connexion MySQL

Implémentation du code :

select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
union 
select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

Résultat :

Quest-ce que la requête de connexion MySQL

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer