在单个查询中从多个表中获取数据

时间:2021-01-30 11:11:23

标签: php mysql sql

我有桌子

  • 网络
<头>
nid 姓名
1 网络 1
2 网络 2
3 网络 3
  • 演出
<头>
sid 名字 s_nid
1 显示 1 1
2 显示2 1
3 显示 3 2
  • 剧集
<头>
开斋节 名字 e_sid
1 第一集 1
2 第二集 1
3 第一集 2
  • Episode_ratings
<头>
erid er_eid
1 4 1
2 4 1
3 2 2

如何获取所有带有 nid 1 的节目,同时获取每个节目的剧集和每集的收视率?

如果不运行许多查询,这是不可能的吗?

1 个答案:

答案 0 :(得分:1)

您只需要使用 JOIN 对此进行一个查询。请阅读有关如何使用 JOIN 的参考资料,例如 JOIN Reference 。表之间的关系已经就位。您可以尝试使用此查询来获取每个表中的所有列。只需使用您需要的特定列修改 *。

SELECT *
FROM Networks 
    INNER JOIN Shows
        ON Networks.nid = Shows.s_nid
    INNER JOIN Episode 
        ON Shows.sid = Episode.e_sid
    INNER JOIN Episode_ratings 
        ON Episode.eid = Episode_ratings.er_eid
WHERE Networks.nid = 1
相关问题