-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句にサブクエリを埋め込む方法について知っておく必要があります。テーブルエイリアスについても知っておく必要があるかもしれません。

2番目の質問の場合:

  • 各監督が一緒に働くことができる俳優の数をどのように計算しますか?
  • そのリストを、5人以上の俳優と一緒に仕事ができる監督にどのように制限しますか?(持っている)
  • 監督(4人以上の俳優と仕事ができる)のリストを考えると、監督が毎年作った映画の数をどのように数えますか?(GROUP BY、COUNT)

複雑なクエリの場合、特にクエリを実際にテストできる場合は、段階的にクエリを作成するのがよい方法です。

于 2012-06-14T03:14:38.967 に答える