Ce didacticiel vous montrera comment utiliser l'auto-jointure MySQL pour fusionner une table avec elle-même et créer des données personnalisées.
Utilisation de base
L'auto-jointure MySQL utilise des alias de table pour s'assurer que vous ne répétez pas la même table plus d'une fois dans une instruction.
REMARQUE: Si vous n'êtes pas familier avec les alias de table, consultez notre autre didacticiel qui explique le concept en détail.
La syntaxe générale pour l'utilisation d'une auto-jointure est similaire à une lors de la combinaison de deux tables. Cependant, nous utilisons des alias de table. Considérez la requête ci-dessous :
SÉLECTIONNER alias1.cols,alias2.cols DE tbl1 alias1,tbl2 alias2 OÙ [état]
Exemples de cas d'utilisation
Utilisons des exemples pour comprendre comment effectuer des auto-jointures MySQL. Supposons que vous ayez une base de données avec les informations suivantes (voir la requête complète ci-dessous)
TOMBER SCHÉMA SI EXISTE soi;CRÉER SCHÉMA soi;
UTILISATION soi;
CRÉER TABLE utilisateurs(
identifiant INT CLÉ PRIMAIRE INCRÉMENTATION AUTOMATIQUE ,
prénom VARCHAR (255),
e-mail VARCHAR (255),
id_payment INT ,
abonnement INT
);
INSÉRER DANS utilisateurs(prénom,e-mail,id_payment,abonnement) VALEURS ('Valérie G. Phillip', ' [email protégé] ', 10001, 1), ('Sean R. Histoires', ' [email protégé] ', 10005, 2), ('Bobby S. Newsome', ' [email protégé] ', 100010, 5);
Nous allons commencer par une jointure INNER et enfin une jointure gauche.
Auto-jointure à l'aide de la jointure interne
La requête ci-dessous effectue une jointure INNER sur la table créée ci-dessus.
SÉLECTIONNER tous1.* DE utilisateurs tous1 INTÉRIEUR REJOINDRE utilisateurs al2 AU tout1.abonnement=al2.abonnement COMMANDÉ PAR identifiant DESC ;La sortie est illustrée ci-dessous :
Auto-rejoindre à l'aide de la jointure à gauche
L'exemple de requête ci-dessous explique comment nous pouvons utiliser l'auto-jointure avec la jointure gauche.
SÉLECTIONNER ( CONCAT (al1.first_name, '->',al2.email)) COMME des détails,al1.payment_id DE utilisateurs tous1 LA GAUCHE REJOINDRE utilisateurs al2 AU al1.id=al2.id;Le résultat de sortie est ci-dessous :
Conclusion
Ce guide vous a expliqué comment utiliser l'auto-jointure MySQL pour joindre une table avec elle-même.
Merci pour la lecture.