我有以下四个数据库表:
civilizations(
civilization_id PRIMARY KEY
civilization_name
civilization_leader
)
cities(
city_id PRIMARY KEY
civilization_id REFERENCES civilizations.civilization_id
city_name
city_population
)
city_buildings(
city_building_id PRIMARY KEY
city_building_name
city_id REFERENCES cities.city_id
building_id REFERENCES buildings.building_id
)
buildings(
building_id PRIMARY KEY
building_name
)
我想写一个SELECT语句,显示每个建筑的名称(存储在city\u building\u name中)、建筑类型(存储在building\u name中)、所在城市的名称(存储在city\u name中)以及控制该城市的文明的名称(存储在civilion\u name中)。
以下是我目前掌握的情况:
SELECT city_buildings.city_building_name, buildings.building_name, cities.city_name
FROM city_buildings
INNER JOIN buildings ON city_buildings.building_id = buildings.building_id
INNER JOIN cities ON city_buildings.city_id = cities.city_id
该查询有效,并获得了前三个必填字段,但我不知道如何获得控制每个城市的文明的名称,因为我从中指定的city\u buildings表没有直接引用文明表中的文明名称字段,我不知道如何编写一个内部连接,它将绕过cities表并从文明表中获得我需要的值。
我运行的关系数据库管理系统是MySQL。请将任何完整的答案作为适当的答复发布,而不仅仅是作为我的问题帖子下的评论(但任何问题都可以在评论中发表)。谢谢