新建一張學員信息表(student),要求:
1. 字段如下:學號(sid),姓名(name),性別(sex),年齡(age),地址(address).
2. 分別爲字段添加約束:學號爲主鍵,姓名爲非空,性別爲檢查約束,年齡爲檢查約束,地址爲默認約束.
3. 爲表建立自增值(sid), 建議初始值從爲 1001, 增量爲 1.
4. 插入記錄.
新建一張課程表(course),要求:
1. 字段如下:課程編號(cid),課程名稱(subject).
2. 分別爲字段添加約束:課程編號爲主鍵,課程名稱爲非空.
3. 爲表建立自增值(cid), 建議初始值從爲 1, 增量爲 1.
4. 插入記錄.
新建一張學員考試成績表(grade),要求:
1. 字段如下:成績編號(gid),學號(sid),課程編號(cid),考試成績(score).
2. 分別爲字段添加約束:成績編號爲主鍵,學號爲外鍵,課程編號爲外鍵,考試成績爲非空.
3. 爲表建立自增值(gid), 建議初始值從爲 101, 增量爲 1.
4. 插入記錄.
回顧分組查詢:
1. group by
用途:對結果集進行分組,常與彙總函數一起使用.
2. having
用途:指定羣組或彙總的搜尋條件。
注:having 通常與 group by 子句同時使用。不使用 group 時,having 則與 where 子句功能相似。
針對以上三張表,要求完成如下:
1. 按照課程編號分組並求出每一組的平均分數(每門課程的平均分)
2. 按照課程編號分組並求出每一組及格人數(grade >= 60)的平均分數(每門課程的及格人數的平均分)
3. 求每個學員所有的課程的平均分
4. 求每個學員所有的(考試成績)及格課程的平均分
5. 每次內部測試不同學員的平均成績(每個學員的每門課程的平均分)
6. 查詢補考過的學員的平均成績 (求出學員的課程編號(cid)在分組內出現過一次以上)(每個學員的每門課程的課程編號出現過一次以上)
7. 使用多表內連接查詢,求出學員的學號,姓名,考號,科目和成績
8. 建立一張視圖,要求字段爲中文,包含學員的學號,姓名,考號,科目,成績這些字段
9. 創建觸發器,實現學生表與課程表更新時成績表作同步更新。