问题 单项选择题

使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是______。

A.SELECT学号,姓名,平均成绩FROM S,SC; WHERE 学号=S学号; GROUP BY 学号HAVING COUNT(*)>=5 ORDER BY平均成绩DESC

B.SELECT学号,姓名,AVG(成绩)FROMS,SC; WHERE 学号=S学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESC

C.SELECT学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE 学号;S学号AND COUNT(*)>=5; GROUP BY 学号ORDER BY平均成绩DESC

D.SELECT学号,姓名,AVG(成绩)平均成绩FROMS,SC, WHERE 学号:S学号; GROUP BY学号HAVING COUNT(*)7=5 ORDER BY 3 DESC

答案

参考答案:D

解析:[知识点] SQL的数据查询功能:连接查询[评析] Visual FoxPro的SELECT—SQL命令的一般语法格式如下: SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]… FROM<基本表(或视图)>[,<基本表(或视图)>]… [WHERE<条件表达式>] [GROUPBY<列名1>[HAVING<内部函数表达式>)) [ORDERBY<列名2>[ASC|DESC]];说明:①SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。②FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。③WHERE子句:说明查询条件,即筛选元组的条件。④GROUP BY子句:对记录按<列名1>值分组,常用于分组统计。⑤HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件;无GROUP BY子句时HAVING子句的作用如同WHERE子句。⑥ORDER BY子句:指定查询结果中记录按<列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。

解答题
单项选择题