テーブルの真ん中MySQL--文の演習

 
- キャスト
TABLE俳優のCREATE
(同上INTEGER NOT NULL  - 俳優番号
、NAME VARCHAR(35) - 俳優の名前
、PRIMARY KEY(ID) 
)デフォルトの文字セット= UTF8。
アクター(NAME)のインデックスACTOR_NAMEを作成します。

- 映画のテーブル
TABLEムービーを作成
(同上INTEGER NOT NULLの - いいえ、映画
、タイトルVARCHAR(70) - 映画の名
、YR DECIMAL(4) - 年
、FLOATスコア - 評価
興行 - 、INTEGER得票
、ディレクターINTEGER  - ディレクター
、PRIMARY KEY(ID)
、FOREIGN KEY(ディレクター)REFERENCESの俳優(ID)
)デフォルトの文字セット= UTF8。
映画(タイトル)ON INDEXのMOVIE_TITLEを作成します。

- テーブルの真ん中
(TABLEキャストをCREATE
MOVIEID INTEGER NOT NULL  - いいえ、映画
、アクターID INTEGER NOT NULL  - 俳優番号
、Movieord INTEGER  - 俳優ランキング
、PRIMARY KEY(MOVIEID、アクターID) 
、FOREIGN KEY(MOVIEID)REFERENCESムービー(ID)
、FOREIGN KEY(アクターID)REFERENCESアクター(ID)
)デフォルトの文字セット= UTF8。

(MOVIEID)のキャストのインデックスcasting_movieを作成します。
(アクターIDを)キャストのインデックスcasting_actorを作成します。
(movieord)のキャストのインデックスcasting_ordを作成します。

- キャスト一覧表示フィルムID = 1
映画メートル、俳優A、CのキャスティングFROM SELECT a.NAME WHERE c.actorid = a.id AND c.movi​​eid = m.id AND m.id = 1 
SELECT *俳優Aから、キャスティングC WHERE c.actorid = a.id AND c.movi​​eid = 1

- 映画「エイリアン」の俳優の一覧を表示します

映画メートル、俳優A、CのキャスティングFROM SELECT a.NAME WHERE c.actorid = a.id AND c.movi​​eid = m.id
AND m.title = 'エイリアン'


- 「ハリソン・フォードが、」映画の名で登場示しました。
キャスティングC、映画Mからm.titleを選択、俳優のWHERE c.actorid = a.id AND m.id = c.movi​​eid AND a.NAME = 'ハリソン・フォード'

-  'ハリソン・フォードの役割は、第一位されていない「ハリソン・フォード」の名前は、映画に登場示したが、
映画Mからm.titleを選択m.id = c.movi​​eid c.actorid = a.id a.NAME = 'ハリソン・フォード' ON俳優Aに参加してc.movi​​eord!= 1でのCのキャストのJOIN

- フィルムの主人公1962放出を示し、膜(第1位)
m.title、映画Mからa.NAME、キャスティングC、俳優のWHERE c.actorid = a.id AND m.id = c.movi​​eid AND m.yr = 1962を選択し、c.movi​​eord = 1

-  'ジョン・トラボルタの年次スターを付けた映画の数を示します
キャスティングC、映画Mからm.yr、COUNT(m.id)を選択し、俳優のWHERE c.actorid = a.id AND m.id = c.movi​​eid AND a.NAME = 'ジョン・トラボルタ' 
m.yr BY GROUP

- リスト「ジュリー・アンドリュース」名前がすべての映画に出演し、映画の主人公
 m.title、俳優Aからa.NAME、キャスティングC、映画メートルa.id = c.actorid AND m.id = c.movi​​eidを選択して、IN m.id
(キャストC1、映画M1、俳優A1からm1.idを選択WHERE m1.id = c1.movi​​eid AND a1.id = c1.actorid AND a1.NAME = 'ジュリー・アンドリュース')
 AND c.movi​​eord = 1;

- 映画俳優10の主人公として記載されています
映画MからSELECT a.NAME、キャスティングC、俳優A WHERE c.actorid = a.id AND m.id = c.movi​​eid 
AND a.NAME BY c.movi​​eord = 1基は、COUNT(m.title)= 10を備えました

- 俳優や映画俳優番号1978の順に記載されている人の数に応じました。
映画MからSELECT m.title、COUNT(a.id)NUM、キャスティングC、俳優のA WHERE c.actorid = a.id AND m.id = c.movi​​eid 
AND m.yr = 1978 GROUPのnum DESC BY m.id ORDER BY


- すべての一覧を表示しますと「アート・ガーファンクルは」俳優と仕事
映画MからDISTINCT a.NAME、キャスティングCを選択して、俳優のWHERE c.actorid = a.id AND m.id = c.movi​​eid 
AND a.NAME!= 'アート・ガーファンクル' AND、IN m.id 
(C1、俳優A1 WHERE c1.actorid = a1.id AND m1.id = c1.movi​​eid AND a1.NAME = 'アート・ガーファンクル' をキャスト、映画M1 FROM c1.movi​​eidを選択)

  

おすすめ

転載: www.cnblogs.com/xieshilin/p/11780228.html