微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!
程序返回或按下回车键。 第32~35题使用如下三个表:学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8) 课 程.DBF:课程编号C(4),课程名称C(10),开课院系C(8) 学生成绩.DBF:学号C(8),课程编号C(4),成绩I----------------------------------------31、查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是 A.SELECT课程名称,SUM(成绩)AS分数FROM课程,学生成绩;WHERE课程.课程编号=学生成绩.课程编号;GROUP BY课程名称B.SELECT课程名称,MAX(成绩)分数FROM课程,学生成绩;WHERE课程.课程编号=学生成绩.课程编号;GROUP BY课程名称C.SELECT课程名称,SUM(成绩)分数FROM课程,学生成绩;WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程.课程编号D.SELECT课程名称,MAX(成绩)AS分数FROM课程,学生成绩; WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程编号 参考答案: B 使用SQL查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B正确。选项A的错误在于查询结果由SUM(成绩)构成,是对分组后的成绩进行了求 和,选项C也是同样的错误,选项D错误在于AS子句后只有一个字段名,而查询结果字段有两个,无法匹配,也 是错误的。----------------------------------------32、统计只有2名以下(含2名)学生选修的课程情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。正确的命令是 A.SELECT课程名称,开课院系,COUNT(课程编号)AS选修人数;FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号;GROUP BY学生成绩.课程编号HAVING COUNT(*)<=2;ORDER BY COUNT(课程编号)B.SELECT课程名称,开课院系,COUNT(学号)AS选修人数;FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号;GROUP BY学生成绩.学号HAVING COUNT(*)<=2;ORDER BY COUNT(学号)C.SELECT课程名称,开课院系,COUNT(学号)AS选修人数;FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称HAVING COUNT(学号)<=2;ORDER BY选修人数D.SELECT课程名称,开课院系,COUNT(学号)AS选修人数;FROM学生成绩,课程HAVING COUNT(课程编号)<=2;GROUP BY课程名称ORDER BY选修人数 参考答案: C 统计人数可以使用COUNT()函数。在本题中由于学号是惟一的,因而统计人数就可以通过统计学生学号的个数来实现,四个选项中可以排除A、B两个选项,这两个语句都缺少按选修人数进行排序的子句,选项D的 错误在于没有设定查询条件。----------------------------------------33、查询所有目前年龄是22岁的学生信息:学号,姓名和年龄,正确的命令组是 A.CREATE VIEW AGE_LIST AS;ltrgtSELECT学号,姓名,YEAR(DATE())―-YEAR(出生日期)年龄FROM学生ltrgtSELECT学号,姓名,年龄FROM AGE_LIST WHERE年龄=22B.CREAT