Maison > base de données > tutoriel mysql > Comment les auto-jointures dans SQL vous permettent-elles d'interroger une seule table sous forme de plusieurs tables ?

Comment les auto-jointures dans SQL vous permettent-elles d'interroger une seule table sous forme de plusieurs tables ?

Linda Hamilton
Libérer: 2025-01-14 12:31:43
original
587 Les gens l'ont consulté

How Do Self-Joins in SQL Allow You to Query a Single Table as Multiple Tables?

Compréhension approfondie de l'auto-jointure SQL

L'auto-jointure SQL est un concept de base dans les requêtes de base de données, qui vous permet d'interroger la même table plusieurs fois, tout comme si vous utilisiez deux tables indépendantes.

Définition de l'auto-connexion

Les auto-jointures fonctionnent en créant un alias pour la même table, vous permettant de la traiter comme deux tables différentes. Une auto-jointure simule la présence de plusieurs tables sans créer de copies physiques distinctes.

Exemple d'auto-connexion

Considérez le tableau des employés suivant :

<code>表 emp1
Id  姓名  主管Id
1   ABC   3
2   DEF   1
3   XYZ   2</code>
Copier après la connexion

Pour récupérer le nom de chaque employé et le nom de son superviseur, effectuez la requête d'auto-adhésion suivante :

<code>select c1.姓名, c2.姓名 As 主管
from emp1 c1
join emp1 c2 on c1.主管Id = c2.Id</code>
Copier après la connexion

Résultat de sortie :

<code>姓名  主管
ABC   XYZ
DEF   ABC
XYZ   DEF</code>
Copier après la connexion

Dans cette requête, nous attribuons l'alias c1 à l'instance principale de la table emp1 et l'alias c2 à l'alias représentant la "seconde" instance. La condition de jointure fait correspondre le superviseur de c1 avec l'identifiant de c2. Cela nous permet de récupérer le nom de chaque employé dans c1 et le nom de son superviseur dans c2.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal