试题与答案

(2)编写my.prg程序,实现的功能:先为“学生成绩”表增加一个“学生平均成绩”字

题型:问答题

题目:

(2)编写my.prg程序,实现的功能:先为“学生成绩”表增加一个“学生平均成绩”字段,类型为 N(6,2),根据“学生选课”表统计每个学生的平均成绩,并写入“学生成绩”表新的字段中。

答案:

参考答案:(1)在命令窗口中输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口输入如下程序段:
*******文件query1.prg中的程序段******************
SELECT DISTINCT(姓名)AS姓名;
FROM 课程,学生选课,学生成绩;
WHERE 学生成绩.学号=学生选课.学号;
AND 学生选课,课程号=课程.课程号;
AND 成绩>65;
ORDER BY姓名DESC;
INTO TABLE res
***********************************************
在命令窗口输入命令:DO query1,运行程序,通过BROWSE命令可查看结果,如图3-41所示。
[*]
(2)在命令窗口中输入命令:MODIFY COMMAND my,在程序文件编辑器窗口输入如下程序段:
******文件my.prg中的程序段********
ALTER TABLE学生成绩ADD平均成绩N(6,2)
SELECT学号,AVG(成绩)AS平均成绩;
FROM学生选课;
GROUP BY学号;
INTO CURSOR atemp
DO WHILE NOT EOF()
UPDATE学生成绩SET平均成绩=atemp.平均成绩;
WHERE学生成绩.学号=atemp.学号
SKIP
ENDDO
***********************************
在命令窗口输入命令:DO my,运行程序。执行程序后,“学生成绩”中的记录,如图3-42所示。
[*]

解析: 本大题两个小题主要考查的是SQL语句的应用,设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。

试题推荐
微信公众账号搜索答案