Maison >base de données >tutoriel mysql >Comment joindre des tables dépourvues de relations de clé étrangère directe à l'aide d'une table intermédiaire ?

Comment joindre des tables dépourvues de relations de clé étrangère directe à l'aide d'une table intermédiaire ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-15 18:27:16687parcourir

How to Join Tables Lacking Direct Foreign Key Relationships Using an Intermediate Table?

Connexion de tables sans clés étrangères directes : tirer parti d'une table intermédiaire

Joindre des tables dépourvues de relations de clé étrangère directe peut être délicat. La solution ? Une table intermédiaire contenant les clés étrangères des deux tables.

Considérez trois tableaux : Espèce, Forêt et Arbre. La table Tree est liée à la fois à Species et Forest via des clés étrangères, mais Species et Forest ne se référencent pas directement.

Requête : joindre des données sur les espèces et les forêts

Pour récupérer les noms de forêts, les noms d'espèces et les types de bois pour les forêts de la région « ARCTIQUE », utilisez cette requête SQL :

<code class="language-sql">SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype
FROM Forest
INNER JOIN Tree ON Tree.Tr_forest = Forest.Fo_name
INNER JOIN Species ON Tree.Tr_species = Species.Sp_name
WHERE Forest.Fo_loc = 'ARCTIC'
ORDER BY Forest.Fo_name, Species.Sp_name;</code>

Répartition de la requête

Cette requête joint efficacement les tables :

  1. Il joint d'abord Forest et Tree en utilisant Tree.Tr_forest (le nom de la forêt dans la table Tree) et Forest.Fo_name (le nom de la forêt dans la table Forest).
  2. Ensuite, il joint Tree et Species en utilisant Tree.Tr_species (le nom de l'espèce dans le tableau Tree) et Species.Sp_name (le nom de l'espèce dans le tableau Species).
  3. La clause WHERE filtre les résultats pour afficher uniquement les forêts situées dans « ARCTIQUE ».
  4. Enfin, ORDER BY trie les résultats par nom de forêt puis par nom d'espèce.

Cette méthode utilise efficacement la table Tree comme pont pour connecter Species et Forest, permettant la récupération des informations souhaitées.

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!

Déclaration:
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