因此,基本上,我正在关注一个教程问题,该问题问我以下内容。我不太确定如何联接不包含其他FK的2个表,它们(即它们的两个FK)都位于第3个表中。我可以得到一些帮助/解释吗?
我的答案
SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype FROM Forest INNER JOIN Species ON Tree.Tr_species=Tree.Tr_forest WHERE Fo_loc='ARTIC' ORDER BY Fo_name, Sp_name “对于在编码为“ ARTIC”的区域中找到的森林,列出其中找到的森林名称和物种名称以及物种木材类型。消除任何重复,并按森林名称和物种名称对输出进行排序”
种类表
+--------------+------------------+------+--------------------------------+ | Field | Type | Key | Glossary | +--------------+------------------+------+--------------------------------+ | sp_name | C(10) | PK | Species Name | | sp_woodtype | C(10) | | Wood Yielded by tree | | sp_maxht | I | | Max. Height | +--------------+------------------+------+--------------------------------+ 森林表
+--------------+------------------+------+--------------------------------+ | Field | Type | Key | Glossary | +--------------+------------------+------+--------------------------------+ | Fo_name | C(10) | PK | Forest Name | | Fo_size | I | | Forest Area | | Fo_loc | C(10) | | Geographical Area | | Fo_comp | C(10) | | Forest Owner | +--------------+------------------+------+--------------------------------+ 树桌
+--------------+------------------+------+---------------------------------------------+ | Field | Type | Key | Glossary | +--------------+------------------+------+---------------------------------------------+ | Tr_species | C(10) | FK | (FK of species.sp_name | | Tr_forest | C(10) | FK | (FK of forest.fo_name | | Tr_numb | I | PK | Sequence number | | Tr_planted | Date | | Date of planting | | Tr_loc | C(10) | | Forest quadrant | | Tr_parent | I | FK | (FK of tree.numb) procreating tree reference| +--------------+------------------+------+---------------------------------------------+ C(10)&我分别代表字符(10)和Integer
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
该Tree表是Forest表和Species表之间的连接。将其视为两个步骤:
1)从森林表开始,连接到Tree表(从Forest.Fo_name到Tree.Tr_forest)
2)既然已经知道树,请加入Species表格(从Tree.species到Species.sp_name)
我会这样写最后一个查询:
SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype FROM Forest JOIN Tree ON Forest.Fo_name=Tree.Tr_forest JOIN Species ON Tree.species=Species.sp_name WHERE Fo_loc='ARTIC' ORDER BY Fo_name, Sp_name来源:stack overflow