
查询作业及参考结果解析.doc
3页说明:学生管理库中主要表结构如下:学生表(学号, 姓名, 性别, 出生日期, 政治面目, 入学成绩, 照片, 简历)教师表(教师编号, 姓名, 性别, 学历, 政治面目, 工作时间, 职称, 系别, 联系, 邮箱地址, 婚否)课程表(课程代码, 课程名称, 教师编号, 学分)成绩表(选课 ID,学号,课程代码,成绩)根据要求写 SQL 语句1.查询年龄介于 20-22 岁的学生的学号、姓名、年龄和入学成绩Select 学号, 姓名, year(date( )-year( 出生日期) as 年龄,入学成绩 from 学生表 where year(date( )-year(出生日期 ) between 20 and 22;说明 1:“year(date( )-year(出生日期) between 20 and 22”也可表示成“year(date( )-year(出生日期) >=20 and year(date( )-year(出生日期) =20 and <=22”的形式说明 2:year( 出生日期 )”也可写成“year([ 出生日期 ])”形式同理,后面各题中,函数中的字段名均可加”[ ]” 界定2.查询姓“李”和姓“王”的教授Select * from 老师表 where (left(姓名,1)=”李” or left( 姓名,1)=” 王”) and 职称=”教授”;或者: Select * from 老师表 where (left(姓名,1)=”李” and 职称=”教授”) or (left(姓名,1)=”王” and 职称=”教授”);说明 1:where 子句中的小括号,一定不能省略说明 2:left(姓名,1)=” 李” 也可表示成 姓名 like “李*”,left(姓名,1)=” 王” 与上类同。
3.查询每个学生学号、姓名、总成绩、平均成绩、最高成绩和最低成绩Select 学生表.学号, 姓名, sum(成绩) as 总成绩 , avg(成绩) as 平均成绩, max(成绩) as 最高成绩, min( 成绩) as 最低成绩 from 学生表 inner join 成绩表 on 学生表.学号=成绩表.学号 group by 学生.学号;说明 1:第 1 并可出现的“ 学生表.学号”也可表示成 “成绩表.学号”说明 2:“from 学生表 inner join 成绩表 on 学生表.学号=成绩表.学号”也可表示成:“from 成绩表 inner join 学生表 on 成绩表..学号=学生表.学号”4.查询每门课程的选课情况,显示包括课程号、课程名和选课人数select 成绩表.课程代码 as 课程号, 课程表.课程名称 as 课程名 , count(成绩表.课程代码) as 选课人数 from 课程表 inner join 成绩表 on 课程表.课程代码= 成绩表 .课程代码 group by 成绩表.课程代码,课程表.课程名称;5.将成绩表中低于 60 分的成绩提升 10%,并按成绩降序显示记录Select *, 成绩*(1+0.1) from 成绩表 where 成绩<60 order by 成绩 desc;说明:此处 10%不能直接用于命令中,只能用 0.1 的方式转换.6.查询班级号(注:班级号为学号的前 4 位)Select distinct left(学号,4) as 班级号 from 学生表;说明:此题主要考查 distinct 的应用,用以不显示重复项7.查询入学成绩前 20 名的学生的学号和姓名Select top 20 学号, 姓名 from 学生表 order by 入学成绩 desc;说明:此题主要考查 top 与 order by 的配合的应用评分标准:1. 每个小题大约 15 分, 2.根据得分的情况分成 A、B+、B、C+、C、D 六个等级,对应的分值大致为98、90、85、75 和 65 分和 50 分.如果学生所做很差,就给个 D.实验指导书 P107,第 2 题,添加要求如下:1)设库中有名为 tTeacher 的表(该表可从实验第 10 章的第 4 题库中导入)2)在(4)后增加要求:运行窗体时,单击“确定” 按钮时,显示选项组中选定性别的 tTeacher1 内容。
单击“退出”时,关闭窗体 编写一个宏组完成上述两个命令按钮的功能 (要求仿照图 7-8 形式书写,在注释栏目列出主要宏的主要设置)以及引用方式参考答案:(1) 创建一个文件名为 H 的宏,其宏内容如下:宏名 条件 操作 操作参数确定 opentable 表名称:tTeacher[Opt]=1 applyfilter Where 条件:[性别]=”男”[Opt]=2 applyfilter Where 条件:[性别]=”女”退出 close 缺省,或者:对象类型:窗体对象名称:fstaff(2)在“确定”命令按钮(名称为:bOK)的“单击”事件中选择宏“H.确定”在“退出”命令按钮(名称为:bQuit)的“单击”事件中选择宏 “H.退出”(说明:由于题中未指定宏的文件及宏组名,第(2)中宏的选择要依据学生具体情况而定。
