首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在SQL TXT。文件的第二行(只占一行)。 (2)modi.prg程序的功能是:先为“学生”表增
(1)用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在SQL TXT。文件的第二行(只占一行)。 (2)modi.prg程序的功能是:先为“学生”表增
admin
2015-08-20
28
问题
(1)用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在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,打开程序文件,文件中的命令代码如下: l CLOSE ALL 2 OPEN DATABASE 成绩管理 3 USE选课IN 0 4 USE学生EXCl,IN 0 5 ***********Error*********** MODIFY 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 修改程序中的错误行,修改后的程序如下: CLOSE ALL OPEN DATABASE成绩管理 USE选课IN 0 USE学生EXCL IN 0 ALTER_TABLE学生ADD平均成绩N(6,2) SELECT 学生 DO WHILE NOT EOF() SELECT AVG(成绩) FROM选课 WHERE学号=学生.学号INTO.ARRAY cj REPLACE平均成绩WITH cj【1】 cj[1]=0 SKIP ENDDO CLOSE DATABASE 步骤2:保存文件修改,在命令窗口执行命令:
DO MODI
,执行程序文件。
解析
(1)本题主要考查的是SQL分组计算的查询。根据题目要求,SQL语句主要设计思路如下:
首先对“学生”和“选课”表进行联接,联接条件为两个表中“学号”相同的记录;接着筛选表中成绩大于70的所有记录(通过WHERE短语指出),对筛选后的记录按“学号”字段分组(通过GROUP BY短语分组),然后通过HAVING语句进一步限定分组条件,要求统计每组学号中“课程号”记录总数大于等于3,这样便可得出至少有三门课程成绩在70分以上的学生记录;查询结果最终保存在results表中,输出字段只包括学生的“姓名”字段。
(2)本题主要考查了SQL定义功能;SQL简单计算查询;DO WHILE循环;visual FoxPro修改记录命令。题目所提供的源程序功能大致如下:
首先打开“成绩管理”数据库,并打开库中的数据表“选课”和“学生”;接着利用SQL定义功能修改表结构;然后利用DO WHILE循环,依次计算“选课”表中每个学生的平均成绩,计算条件为“选课”表中的“学号”字段值等于“学生”表中当前记录的“学号”字段值,并将平均成绩保存到数组中;最后利用visual FoxPro修改记录命令REPLACE将数组中的值赋给“学生”表的“平均成绩”字段。
本题第一处错误是表结构修改语句的错误,为表增加字段的关键字是ADD而不是AITER,ALTER只能用来修改已存在的字段;第二处错误是DO WHILE循环格式错误,缺少WHILE短语;第三处错误是修改记录命令格式错误,指定修改值的短语为WITH而不是SET。
转载请注明原文地址:https://kaotiyun.com/show/pXEp777K
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
要撤销SQL模式ST_CO及其下属所有的元素,可用______语句来实现。
关系数据库中,实现表与表之间的联系是通过______。
数据结构中,与所使用的计算机无关的是数据的______。
在以下关于索引的说明中,错误的是______。
当前工资表中有108条记录,当前记录号为8,用Sum命令计算工资总和时,若缺省范围,则系统将______。
建立远程视图必须首先建立与远程数据库的______。
下面关于列表框和组合框的陈述,______是正确的。
检索所有比“王华”年龄大的学生的姓名、年龄和性别,正确的SELECT语句是______。
使用SELECT-SQL命令建立查询时,若要将查询结果输出到一临时数据表中,需要选择使用以下______子句。
为学生表建立普通索引,要求按“学号”字段升序排列,如果学号(C,4)相等,则按成绩(N,3)升序排列,下列语句正确的是()。
随机试题
有关小儿喂养以下哪项不正确
(make)Hecouldhaveinsistedthathisdailyvisitor______uphermindaboutthecomputer.
酮体利用时所需要的辅助因子是( )。【2004年考试真题】
A.脑血栓形成B.脑栓塞C.蛛网膜下腔出血D.脑出血E.短暂性脑出血女性,58岁,晨起后觉头晕,下午语言不清,右侧肢体运动不便,次日症状加重。CT示左侧内囊有低密度影,正确的诊断是
某屠宰厂,将屠宰好的肉经“后熟产酸”处理,可杀死()
A.龙胆泻肝汤B.知柏地黄丸C.萆薢渗湿汤D.萆薢化毒汤E.清营汤
在规定的条件下,材料或制品加热到释放出的气体能在瞬间着火并出现火焰的最低温度称为()。
下列关于资产负债率的说法中,不正确的是()。
下列不属于证券期货类金融机构的是()。
遵守职业纪律,要求从业人员()。
最新回复
(
0
)