选课系统:
按照要求用 SQL 语句创建下面三张表:
⑴. 学生表:表名——Student
属性:Sno 字符型,最大 7 个字符 表示学生学号
Sname 字符型,最大 8 个字符 表示学生姓名
Sage 整型 表示学生年龄
Ssex 字符型,最大 2 个字符 表示学生性别
Sdate 日期时间型 表示学生入学时间
Sdept 字符型,长度为 20 表示所在系
约束:主码——Sno 非空属性——Sname
(默认入学时间——‘2000-09-01’可以不考虑)
1
⑵. 课程表:表名:Course
属性:Cno 字符型,最大 4 个字符 表示课程编号
Cname 字符型,最大 10 个字符 表示课程名
Cteacher 字符型,最大 8 个字符 表示教师姓名
Coffice 字符型,最大 20 个字符 表示办公室
约束:主码——Cno 非空属性——Cname
2
⑶. 选课表:表名——SC
属性:Sno 字符型,最大 7 个字符 表示学生学号
Cno 字符型,最大 4 个字符 表示课程号
Grade 整型 表示成绩
约束:主码——Sno,Cno; Sno,Cno 均为外码
3
针对上面的三个基本表做如下的练习:
(4).向基本表 Student 中插入学生元组(”0201901”,”ZHAO”,18,”女”,2002-08-31,
NULL)4
(5).把 WANG 同学的选课记录全部删除5
(6).查询刘老师所授课程的课程号和课程名6
(7).查询平均成绩在 75 分以上的学生学号和其平均成绩7
(8).查询其他系比信息系年龄最小的学生还小的学生姓名、年龄8
(9).查询所有缺考的学生的学号、姓名和系别9
(10).查询选修了‚C01‛课程的学生总人数和最高分数10
(11).查询在 2000-8-31 日入学的男学生的学号和姓名11
(12).查询与刘晨选修的一门课程相同的学生姓名12
(13).查询与 QIAN 老师在同一个办公室的其它老师的姓名13
(14).查询至少选修 LIU 老师所授课程中一门课程的女学生姓名14
⒂.查询哪些课程没有人选修15
⒃.查询选修了课程‘C02’且成绩高于此课程的平均成绩的学生的学号和成绩16
⒄.求平均分最高的学号17
⒅. 显示 20 岁学生的基本信息和选课信息(课程名和分数),若没有选课,也要将基本信息
显示出来18
⒆. 建立计算机系选修了课程‘c01’的学生的视图19
⒇.建立视图(SGrade),包含每个学生的学号(Sno),选课门数(Count_Cno),平均分
(Avg_Grade)20
(21). 利用上述视图进行查询:列出平均分大于 80 分的学生的学号及其选课门数21
(22). 从视图中查询选修了 3 门以上课程的学生学号22
(23). 查询以 DB 开头且倒数第三个字母是 i 的课程的课程号、课程名23
(24)求平均分最高的学号、学生姓名、平均成绩24