2012-06-14 49 views
-4

我試着通過死記硬背的考試,而這些都是一些給SQL艱難查詢

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

對於誰在電影於2006年擔任每個演員最棘手的例子,發現在所有的藝名和總薪酬 他們已經採取行動的電影(即包括那些不在2006年)。

對於每位可以與至少5名演員合作的導演,請查找導演每年製作電影的電影總數 。

+0

而且,你的問題是什麼? –

+4

而不是複製粘貼問題顯示你的方法。其他人首先學習SQL並嘗試一下。 – Luftwaffe

回答

6

您需要沉迷於一些TDQD —測試驅動的查詢設計。

對於第一個問題:

  • 如何列出誰在電影在2006年的工作角色?
  • 給出這樣的清單,你如何計算他們曾經工作過的所有電影中每個演員的工資總和?
  • 找到他們的舞臺名稱很容易,因爲它似乎是相關表格之間的FK。

您需要了解的子查詢,以及如何嵌入一個子查詢在FROM子句。您可能還需要了解表別名。

對於第二個問題:

  • 如何計算有多少演員每個導演可以工作?
  • 你如何將這份名單限制在可以與五名或更多演員合作的導演? (HAVING)
  • 鑑於導演名單(可與四名演員合作),您如何計算導演每年製作的電影數量? (GROUP BY,COUNT)

對於任何複雜的查詢,分階段構建查詢是要走的路,尤其是如果您可以實際測試查詢。

+0

感謝您在以後嘗試這些時不要忘記這些內容 – George