(1)用SOL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SOL语句粘贴在SQL.TXT文件的第二行(只占一行)。 (2)modi.prg程序的功能是:先为“学生”表增加

admin2016-12-05  34

问题 (1)用SOL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SOL语句粘贴在SQL.TXT文件的第二行(只占一行)。
    (2)modi.prg程序的功能是:先为“学生”表增加一个“平均成绩”字段,数据类型为N(6,2);然后根据“选课”表统计每个学生的平均成绩,并写入新添加的字段。
    该程序有三处错误,请改正,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。

选项

答案(1)【操作步骤】 ①在命令窗口输入如下SQL查询代码(以下SQL查询语句是通过查询设计器生成): 1 SELECT学生.姓名; 2 FROM成绩管理!学生INNER JOIN成绩管理!选课; 3 ON学生.学号=选课.学号; 4 WHERE选课.成绩>=70; 5 ORDER BY学生.姓名; 6 GROUP BY学生.学号; 7 HAVING COUNT(选课.课程号)>=3; 8 INTO TABLE resultS.dbf ②在命令窗口执行命令:MODIFY FILE SQL,打开文本文件编辑器。将命令窗口的查询语句复制到SQL文本文件中。 (2)【操作步骤】 步骤1:在命令窗口执行命令:MODIFY COMMAND modi,打开程序文件,文件中的命令代码如下: 1 CLOSE ALL 2 OPEN DATABASE 成绩管理 3 USE选课IN 0 4 USE学生 EXCL IN 0 5 ***********Error*********** MODI FY TABLE 学生 ADD 平均成绩 N(6,2) 6 SELECT学生 7 ***********Error*********** DO WHILE EOF() 8 SELECT AVG(成绩) FROM 选课 WHERE学号=学生.学号INTO ARRAY cj 9 ***********Error*********** REPLACE平均成绩=cj[1] 10 cj[1]=0 11 SKIP 12 ENDDO 13 CLOSE DATABASE 修改程序中的错误行,修改后的程序如下: 1 CLOSE ALL 2 OPEN DATABASE 成绩管理 3 USE选课 IN 0 4 USE 学生 EXCL IN 0 5 ALTER TABLE 学生 ADD 平均成绩 N(6,2) 6 SELECT 学生 7 DO WHILE NOT EOF () 8 SELECT AVG(成绩) FROM选课WHERE 学号=学生.学号 INTO ARRAY cj 9 REPLACE 平均成绩 WITH cj[1] 10 cj[1]=0 11 SKIp 12 ENDDO 13 CLOSE DATABASE 步骤2:保存文件修改,在命令窗口执行命令:DO MODI,执行程序文件。

解析
转载请注明原文地址:https://kaotiyun.com/show/gAIp777K
0

最新回复(0)