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
Libérer: 2025-01-15 18:27:16
original
732 Les gens l'ont consulté

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>
Copier après la connexion

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!

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