ドロップ テーブルクラスを 作成し 、テーブル(クラスを CLASSID NCHAR(6)主 キー ではない ヌル、 CNAMEのNVARCHAR(20 ) ) INSERT INTOのクラスの 値(' 09 033 '、' オートメーションクラス1 ' ) INSERT INTOのクラスの 値(' 09031 '、' コンピュータクラス1 ' )、 (' 09032 '、' コンピュータクラス2 ' )、 (' 09034 '、' オートメーションクラス2 ' ) 選択 * からクラス 削除クラスCLASSID = 「09033 」削除クラスCLASSID = 「09031 」削除クラスCLASSID = 「09032 」削除クラスCLASSID = 「09034 」 更新クラスSET CNAME = ' オートメーション3クラス' WHERE CLASSID = 09034 ALTER テーブルの学生 ALTER 列 CLASSID NCHAR(6)ではない ヌル ALTER 表の学生- 学生の属性を高めるためには、外部キーのclassid 追加 制約 CLASSID 外国 キー(CLASSID)参照のクラス(CLASSID)を ALTER 表学生- 外部キー制約の削除 ドロップ 制約CLASSIDを - あなたが削除することができます前に、クラスは、 ドロップ テーブルのクラスを 選択 * からのコース 選択 * からスコア を選択 * から学生 を選択 * から教師 - 学校の生徒数107コース名、インストラクターチェック SELECT ci.cName、ti.teaName から学生AS Siの インナー 参加スコアAS SCO ON sco.stuId = si.stuId インナー 参加コース、AS CI ON ci.cIdを= sco.cId インナー 参加教師ASチタンON ti.teaId = ci.teaId WHERE si.stuId = 107 - 検索王の学生がアシスタントインストラクターを教えることなく、学び、そしてもちろん名前はありません SELECT ti.teaName、ci.cName からコース、AS CI インナー 参加教師ASチタンON ti.teaIdを= ci.teaId 除く( - コースを学習王の学生を教室教師 SELECT ti.teaName、ci.cName から学生AS Siの インナー 参加スコアAS SCO ON sco.stuId = si.stuId インナー 参加コース、AS CI ON ci.cId = sco.cId インナーには 参加教師ASチタンONが ci.teaId = ti.teaId WHERE si.stuName のような 「キング%」 連合の - クラスの講師、助教授王の学生 SELECT ti.teaName、ci.cName からコース、AS CI インナー 参加教師AS TiでON ci.teaId = ti.teaId WHERE ti.teaWork = ' TA ' と ti.teaName などの ' キング%' ) - 選択科目学生数の少なくとも2つのコースの取得 SELECT sco.stuId、COUNT(*)からスコアAS SCO グループ によって sco.stuId HAVING COUNT(*)> 1
-サブクエリ - 各学生の数を一覧表示することでコース名の最高点で、学生の選択科目をして得点 SELECT si.stuId、ci.cName、sco.score から学生をとしてSiの インナーが 参加スコアaSに SCO ON sco.stuId = si.stuId インナー 参加もちろん、aSに CI ONにci.cId = sco.cId 内部には、 参加する教師として、TIの上 ci.teaId = ti.teaId どこ sco.score > = ( 選択 MAX(ssco.scoreを)から学生として、SSI 、内側が 参加スコアとして SSCOを上 ssco.stuId = ssi.stuId インナー 参加コースとして CCI に cci.cId = ssco.cId インナー 参加教師として TTIを上 cci.teaId = tti.teaId どこ ssi.stuName = si.stuName ) 順序 によって si.stuId ASC