北大數(shù)據(jù)庫上機練習題
現(xiàn)有一個學生選修課程的數(shù)據(jù)庫,其中存放以下三個表:學生(學號,姓名,性別,年齡,系別)課程(課程號,課程名,任課教師)選修(學號,課程號,分數(shù))試用SQL語言完成下列功能:
1 建表,在定義中要求聲明:
?。?)每個表的主外碼;
?。?)學生的年齡介于16到40之間;
?。?)學生的姓名和課程名不能為空值;
?。?)選課成績要么為空值,要么取0到100之間的整數(shù)。
2 往表中插入數(shù)據(jù)
學生 (101,張三,男,18,計算機;
102,李四,男,16,數(shù)學;
103,王玲,女,17,中文;
105,李飛,男,19,計算機;
109,趙四,女,18,歷史;
110,李平,男,20,化學)
課程 ( 203,操作系統(tǒng),程羽;
279,高等數(shù)學,王備;
210,現(xiàn)代文學,王丹;
243,有機化學,沈同;
204,數(shù)據(jù)結構,張青;)
選修(101,203,82;
105,203,59;
102,279,90;
101,279,88;
105,279,82;
110,279,68;
109,210,72;
103,210,90;
110,243,92;
101,204,85;
105,204,91;
102,204,56)
3 用SQL語句完成下列查詢:
?。?)列出張三同學選修的所有課程的名稱及其成績。
?。?)列出所有課程都及格了的同學的名字。
(3)列出在選修張青老師所教授課程的學生中,成績更高的學生姓名及其成績。
4 刪除所有成績不及格的選課記錄。
5 將105號同學選修203號課程的成績改為該門課程的平均成績。



