(1)用SQL语句查询课程成绩在60分以上的学生姓名,并将结果按姓名降序存入表文件res.dbf中。 (2)编写my.prg程序,实现的功能:先为“学生成绩”表增加一个“学生平均成绩”字段,类型为 N(6,2),根据“学生选课”表统计每个学生的平均成绩,并

admin2009-02-15  26

问题 (1)用SQL语句查询课程成绩在60分以上的学生姓名,并将结果按姓名降序存入表文件res.dbf中。
(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循环语句对表中的记录逐条更新。
转载请注明原文地址:https://jikaoti.com/ti/e9M7FFFM
0

最新回复(0)