-5

我试图为考试补习,这些是给出的一些最难的例子

Movie(title, year, director, budget, earnings)
Actor(stagename, realname, birthyear)
ActedIn(stagename, title, year, pay)
CanWorkWith(stagename, director)

对于在 2006 年参演电影的每位演员,找出他们在所有参演电影中的艺名和总片酬(即包括 2006 年未参演的电影)。

对于每个可以与至少 5 位演员合作的导演,请找出该导演每年制作一部电影的电影总数。

4

1 回答 1

6

您需要沉迷于一些 TDQD — 测试驱动的查询设计。

对于第一个问题:

  • 您如何列出 2006 年在电影中工作的演员?
  • 给定这样一个列表,你如何计算每个演员在他们曾经工作过的所有电影中的片酬总和?
  • 找到他们的舞台名称很容易,因为它似乎是相关表之间的 FK。

您需要了解子查询,以及如何在 FROM 子句中嵌入子查询。您可能还需要了解表别名。

对于第二个问题:

  • 你如何计算每个导演可以与多少演员合作?
  • 您如何将该名单限制在可以与五名或更多演员合作的导演?(有)
  • 给定一份导演名单(可以与四位以上演员合作),你如何计算导演每年制作的电影数量?(分组依据,计数)

对于任何复杂的查询,分阶段构建查询是可行的方法,特别是如果您可以随时测试您的查询。

于 2012-06-14T03:14:38.967 回答