首页 > 数据库 > mysql教程 > 如何使用中间表连接缺乏直接外键关系的表?

如何使用中间表连接缺乏直接外键关系的表?

Barbara Streisand
发布: 2025-01-15 18:27:16
原创
681 人浏览过

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

在没有直接外键的情况下连接表:利用中间表

连接缺乏直接外键关系的表可能会很棘手。 解决方案是什么?包含两个表中的外键的中间表。

考虑三个表:物种、森林和树木。 Tree 表通过外键链接到 SpeciesForest,但 SpeciesForest 不直接相互引用。

查询:连接物种和森林数据

要检索“北极”地区森林的森林名称、物种名称和木材类型,请使用以下 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>
登录后复制

查询细分

此查询有效地连接表:

  1. 它首先使用 ForestTree 表中的森林名称)和 Tree.Tr_forestTree 表中的森林名称)连接 Forest.Fo_nameForest
  2. 然后,它使用 TreeSpecies 表中的物种名称)和 Tree.Tr_speciesTree 表中的物种名称)连接 Species.Sp_nameSpecies
  3. WHERE 子句过滤结果以仅显示位于“ARCTIC”的森林。
  4. 最后,ORDER BY 按森林名称和物种名称对结果进行排序。

该方法有效地使用Tree表作为连接SpeciesForest的桥梁,从而能够检索所需的信息。

以上是如何使用中间表连接缺乏直接外键关系的表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板