【正确答案】正确答案:(1) 步骤1:在命令窗口执行命令:MODIFY COMMAND ONE,打开程序文件编辑器。 步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): 1 SELECT COURSE.课程名称,MAX(SCORE.成绩)AS分数; 2 FROM COURSE INNER JOIN SCORE; 3 ON COURSE.课程编号=SCORE.课程编号; 4 GROUP BY COURSE.课程名称; 5 INTO TABLE MAX.dbf 步骤3:在命令窗口执行命令:DO ONE.PRG,执行程序文件。 (2) 步骤1:在命令窗口执行命令:MODIFY COMMAND TWO,打开程序文件编辑器。 步骤2:在编辑器中输入如下程序代码(以下程序是通过查询设计器生成): 1 SELECT COURSE.课程名称; 2 FROM COURSE INNER JOIN SCORE; 3 ON COURSE.课程编号=SCORE.课程编号; 4 WHEREWHERE SCORE.成绩<60; 5 GROUP BY COURSE.课程名称; 6 TO FILE NEW.TXT 步骤3:在命令窗口执行命令:DO YWO.PRG,执行程序文件。
【答案解析】解析:(1)本题考查了SQL分组与计算查询。根据题意,需要对COurse和score表进行连接,连接字段为“课程编号”,利用MAX()函数对“成绩”字段计算可以得到最高分,新字段名通过AS短语指定;由于是求每门课程的最高分,因此,分组字段为“课程名称”或“课程编号”,最后将查询结果输出到指定的数据表中。对于SQL语句不太熟悉的考生,可借助查询设计器生成SQL语句。 (2)本题考查了SQL分组查询。与上小题不同的地方是本题中查询条件是通过WHERE短语指出,查询条件是“SCORE.成绩<60”,不涉及计算查询,语句比较简单。本题SQL语句同样可以借助查询设计器生成。