
班级:0801 学号: 017608201090 姓名:孔令龙 总分:
一、建立数据库“成绩管理.DBC”,完成以下数据表文件:(30分)
学生.DBF(学号(C/6)、姓名(C/8)、性别(C/2)、出生日期(D,NULL)、年龄(N/2)、党员否(L)、入学分数(N/3)、院系号(C/8)、籍贯(C/10)、备注(M),以学号建立了主索引,以院系建立了普通索引;
课程.DBF(课程号(C/2)、课程名称(C/12)、先行课(C/2)、学分(N/1)、任课教师(C/6)),以课程号建立了主索引。
成绩.DBF(学号(C/6)、课程号(C/2)、成绩(N/2,NULL)),学号和课程号分别建立了普通索引;
学生.DBF
| 学号 | 姓名 | 性别 | 出生日期 | 年龄 | 党员否 | 入学分数 | 院系 | 籍贯 | 备注 |
| 201001 | 刘芳菲 | 女 | 19-12-03 | T | 512 | 计算机系 | 武汉 | ||
| 201002 | 刘丹 | 男 | 19-06-14 | F | 536 | 计算机系 | 黄石 | ||
| 201003 | 高菲 | 女 | 1991-11-07 | T | 528 | 信息系 | 武汉 | ||
| 201004 | 李丽 | 女 | 1990-01-23 | F | 496 | 信息系 | 随州 | ||
| 201005 | 欧阳志飞 | 男 | 19-06-28 | T | 469 | 数学系 | 孝感 | ||
| 201006 | 胡艳 | 女 | 1988-02-11 | F | 531 | 计算机系 | 荆州 | ||
| 201007 | 张阳 | 男 | 1990-03-28 | F | 520 | 数学系 | 武汉 | ||
| 201008 | 刘俊 | 男 | 19-07-08 | F | 509 | 计算机系 | 天门 | ||
| 201009 | 李向阳 | 男 | 1990-11-13 | F | 486 | 数学系 | 汉川 |
| 课程号 | 课程名称 | 先行课 | 学分 | 任课教师 |
| C1 | 数据库 | C5 | 4 | 晓寒 |
| C2 | 数学 | 2 | 王江 | |
| C3 | 信息系统 | C1 | 4 | 蒋发 |
| C4 | 操作系统 | C6 | 3 | 刘海军 |
| C5 | 数据结构 | C7 | 4 | 赵丽 |
| C6 | 数据处理 | 2 | 苏小朋 |
| 学号 | 课程号 | 成绩 |
| 201001 | C1 | 85 |
| 201001 | C2 | 96 |
| 201001 | C3 | 48 |
| 201002 | C1 | 84 |
| 201002 | C2 | 95 |
| 201002 | C4 | 75 |
| 201003 | C1 | 93 |
| 201003 | C5 | NULL |
| 201003 | C3 | 48 |
| 201004 | C1 | |
| 201004 | C2 | 42 |
| 201005 | C1 | 86 |
| 201006 | C1 | 87 |
| 201006 | C4 | 77 |
| 201007 | C2 | 94 |
1.查询学生表中“计算机系”或“信息系”学生的姓名及院系。
Select 姓名,院系 from 学生 where 院系=”计算机系” or 院系=”信息系”;
2.查询所有90年及以前出生的所有女生信息。
Select * from 学生 where year (出生日期)<=1990 and 性别=”女”;
3.计算学生表中每个学生的年龄
Select 姓名,2011-year(出生日期) as 年龄 from 学生;
4.把低于总平均成绩的学生成绩提高5%。
Update 成绩 set 成绩=成绩*1.05 where 成绩<(select avg(成绩) from 成绩);
5.查询选修“数据库”课程的学生人数。
Select count(学号) from 成绩,课程 where 课程名称=”数据库” and 成绩.课程号=课程.课程号;
6.检索选修3门以上(含3门)课程学生的学号和姓名。
Select 学生.学号,姓名 from 学生,成绩 where 学生.学号=成绩.学号 group by 学号 having count(课程号)>=3;
7.查询所有姓刘的学生的姓名、学号和性别。
Select 姓名,学号,性别 from 学生 where 姓名 like ”刘%”;
8.查询选修了“C1”课程的学生的姓名及其成绩,结果按成绩的降序排列。
Select 姓名,成绩 from 学生,成绩 where 课程号=”c1” and 学生.学号=成绩.学号 order by 成绩 desc;
9.查询”王芳”同学没有选修课程的课程名称。
select 课程名称 from 课程 where 课程号 not in (select 课程号 from 学生,成绩 where 姓名=”王芳” and 学生.学号=成绩.学号);
10.查询没有参加选修课程的学生姓名。
Select 姓名 from 学生 where 学号 not in (select 学号 from 成绩);
11.查询先行课为“数据库”的课程名称;
Select 课程名称 from 课程 where 先行课=”c5”;
12.统计参加选修课程的每个学生平均成绩。
Select 学号,avg(成绩) from 成绩 group by 学号;
13.查询选修“C2”课程且成绩在90分以上的所有学生的姓名。
Select 姓名 from学生,成绩 where 课程号=”c2” and 成绩>90 and 学生.学号=成绩.学号;
14.查询“数据库”课程的平均成绩。
Select avg(成绩) from 课程,成绩 where 课程名称=”数据库” and 课程.课程号=成绩.课程号;
