+ 4サブクエリSQL Serverの基本的な文法練習問題

ドロップ テーブルクラスを
 作成し 、テーブル(クラスを
    CLASSID NCHAR6 キー ではない ヌル
    CNAMEのNVARCHAR20 
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 NCHAR6ではない ヌル

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

 

おすすめ

転載: www.cnblogs.com/zsben991126/p/11828528.html