【发布时间】:2019-02-09 01:34:07
【问题描述】:
我是数据库设计的新手,所以我还在学习,很抱歉可能使用不恰当的术语,所以我会尝试用通用语言解释我遇到的问题。我学会了如何在中间的联结表上连接两个表(得到结果),但是当我想在另一个联结表上加入一个“常规”表和一个联结表时,我遇到了问题。
我有一个关系数据库,它有这样的表和它们之间的关系:
我知道如何使用hgs_translations 加入hgs_transliterations、hgs_gardiners、hgs_meanings、hgs_word_types,但我不知道如何加入这4 个表和hgs_references表。
这是我加入较低 4 个表的代码:
SELECT hgs_transliterations.transliteration, hgs_gardiners.gardiners_code, hgs_meanings.meaning, hgs_word_types.word_type
FROM hgs_translations
JOIN hgs_transliterations ON hgs_translations.transliteration_id = hgs_transliterations.id
JOIN hgs_gardiners ON hgs_translations.gardiners_id = hgs_gardiners.id
JOIN hgs_meanings ON hgs_translations.meaning_id = hgs_meanings.id
JOIN hgs_word_types ON hgs_translations.word_type_id = hgs_word_types.id
我阅读了一些关于这个主题的教程,其中提到了AS、INNER JOIN、OUTER JOIN,但我不太了解术语以及如何使用它来创建我需要的东西。对不起,可能是基本问题,但正如我所说,我只是一个初学者,我正在努力深入理解一些东西,以便我可以适当地使用它。提前谢谢你。
附:如果有人认为这不是好的数据库设计(表之间的关系设计),我想听听。
【问题讨论】:
标签: mysql database-design relational-database junction-table