Comprendre les auto-jointures dans les bases de données
Une auto-jointure est une technique de base de données puissante dans laquelle une table se joint à elle-même. Cela évite la redondance des données souvent associée à la création de tables en double, un principe clé dans la normalisation des bases de données.
Le concept d'auto-adhésion
Imaginez un tableau emp
avec des colonnes Name
et Boss_id
. Pour trouver le nom du patron de chaque employé, vous pouvez instinctivement créer un deuxième tableau. Cependant, une auto-jointure résout ce problème avec élégance au sein de la seule emp
table.
Un exemple pratique d'auto-adhésion
Utilisons cet exemple de données :
<code>Table: emp Id Name Boss_id 1 ABC 3 2 DEF 1 3 XYZ 2</code>
Pour récupérer le nom du patron de chaque salarié, nous utilisons un self-join :
<code class="language-sql">SELECT e1.Name, e2.Name AS Boss FROM emp e1 INNER JOIN emp e2 ON e1.Boss_id = e2.Id;</code>
Résultats de la requête
L'ensemble de données résultant sera :
<code>Name Boss ABC XYZ DEF ABC XYZ DEF</code>
Cela montre clairement les relations patron-employé : le patron d'ABC est XYZ, le patron de DEF est ABC et le patron de XYZ est DEF.
Applications des auto-jointures
Les auto-jointures sont polyvalentes et sont utilisées dans de nombreuses situations, notamment :
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!