Maison > base de données > tutoriel mysql > Comment les auto-jointures peuvent-elles aider à récupérer des données hiérarchiques dans une seule table ?

Comment les auto-jointures peuvent-elles aider à récupérer des données hiérarchiques dans une seule table ?

Barbara Streisand
Libérer: 2025-01-14 12:01:49
original
851 Les gens l'ont consulté

How Can Self-Joins Help Retrieve Hierarchical Data Within a Single Table?

Auto-jointures : un aperçu concis

Une auto-jointure dans la gestion de base de données est une technique de requête dans laquelle une table est jointe à elle-même. Il s'agit d'une méthode de normalisation courante, permettant d'accéder à plusieurs instances des données de la même table dans une seule instruction SQL.

Comprendre le mécanisme d'auto-adhésion

Imaginez un tableau « Employés » contenant les détails des employés, y compris les identifiants des responsables. Une auto-adhésion récupère efficacement les données reflétant les hiérarchies des employés.

Exemple illustratif : relations employé-manager

Supposons que nous ayons une table « Employés » avec l'ID de l'employé, son nom et l'ID du responsable. Pour afficher le nom de chaque employé à côté du nom de son manager, une auto-adhésion est idéale :

<code class="language-sql">SELECT e1.Name AS EmployeeName, e2.Name AS ManagerName
FROM Employees e1
INNER JOIN Employees e2 ON e1.ManagerID = e2.EmployeeID;</code>
Copier après la connexion

Résultat :

EmployeeName ManagerName
ABC XYZ
DEF ABC
XYZ NULL

Cette auto-adhésion nous permet d'accéder deux fois à la table "Employés", reliant efficacement les employés à leurs managers respectifs, révélant la structure hiérarchique. Notez que les employés sans manager afficheront NULL pour ManagerName.

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