Quand utiliser MySQL Self Join et Exemples

Quand utiliser MySQL Self Join et Exemples
MySQL Auto-join est un type de jointure SQL qui vous permet de rejoindre un tableau à lui-même. Il fonctionne en utilisant d'autres types de jointures telles que la clause de jointure intérieure ou gauche pour combiner des lignes en fonction des conditions spécifiées.

Ce tutoriel vous montrera comment utiliser l'auto-joing MySQL pour fusionner une table avec elle-même et créer des données personnalisées.

Utilisation de base

MySQL Auto-Join utilise des alias de table pour vous assurer de ne pas répéter le même tableau plus d'une fois dans une seule déclaration.

NOTE: Si vous n'êtes pas familier avec les alias de table, considérez notre autre tutoriel qui explique pleinement le concept.

La syntaxe générale pour l'utilisation d'une auto-joing est similaire à celle lors de la combinaison de deux tables. Cependant, nous utilisons des alias de table. Considérez la requête ci-dessous:

Sélectionnez Alias1.Cols, alias2.Cols de TBL1 Alias1, Tbl2 Alias2 où [condition]

Exemple de cas d'utilisation

Utilisons des exemples pour comprendre comment effectuer des jointures MySQL. Supposons que vous ayez une base de données avec les informations suivantes (voir la requête complète ci-dessous)

Déposez le schéma si vous existe;
Créer un schéma soi;
Utiliser soi;
Créer des utilisateurs de table (
id int key primaire auto_increment,
First_name Varchar (255),
Email Varchar (255),
PAYS_ID INT,
abonnement int
));
Insérer dans les valeurs des utilisateurs (First_name, Email, Payment_ID, abonnement) ("Valerie G. Phillip "," ValeriegPhillip @ Teleworm.US ", 10001, 1), (" Sean R. SORIE "," Seanrstorie @ rhyta.com ", 10005, 2), (" Bobby S. Newsome "," bobcysnewsome @ armyspy.com ", 100010, 5);

Nous allons commencer par une jointure intérieure et enfin une jointure de gauche.

S'auto-joindre en utilisant la jointure intérieure

La requête ci-dessous effectue une jointure intérieure sur le tableau créé ci-dessus.

Sélectionner AL1.* Des utilisateurs AL1 Inner Rejoignez les utilisateurs AL2 sur AL1.abonnement = al2.Ordonnance d'abonnement par ID DESC;

La sortie est indiquée ci-dessous:

S'auto-jointure en utilisant la gauche jointure

L'exemple de requête ci-dessous explique comment nous pouvons utiliser l'auto-jointure avec la jointure de gauche.

SELECT (Concat (AL1.first_name, '->', al2.e-mail)) comme détails, Al1.PAYS_ID des utilisateurs al1 gauche jointer les utilisateurs al2 sur al1.id = al2.identifiant;

Le résultat de sortie est ci-dessous:

Conclusion

Ce guide vous a expliqué comment vous pouvez utiliser MySQL Self pour rejoindre une table avec elle-même. Merci pour la lecture.