考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

一个查询语句执行后显示的结果为:1 班 80;2 班 75;3 班 82,则最有可能的查询语句是()
A. SELECT AVG(成绩) FROM 成绩表 WHERE class<=3  
B. SELECT class ,AVG(成绩) FROM 成绩表 WHERE class<=3 GROUP BY class     
C. SELECT class ,AVG(成绩) FROM 成绩表 WHERE class<=3 order by class
D. SELECT class ,AVG(成绩) FROM 成绩表 HAVING class <=3 GROUP BY class
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是 B: SELECT class, AVG(成绩) FROM 成绩表 WHERE class<=3 GROUP BY class。

分析:

1. **A选项**:`SELECT AVG(成绩) FROM 成绩表 WHERE class<=3` 只会返回一个平均成绩的值,而不是按班级分组后的多个结果。因此,这个选项不符合题意。

2. **B选项**:`SELECT class, AVG(成绩) FROM 成绩表 WHERE class<=3 GROUP BY class` 这个查询语句会根据班级分组,然后计算每个班级的平均成绩。这与题目中描述的结果(1班 80;2班 75;3班 82)相符。

3. **C选项**:`SELECT class, AVG(成绩) FROM 成绩表 WHERE class<=3 ORDER BY class` 语句中缺少 `GROUP BY` 子句,因此它不能按班级分组计算平均成绩,也不符合题意。

4. **D选项**:`SELECT class, AVG(成绩) FROM 成绩表 HAVING class <=3 GROUP BY class` 使用 `HAVING` 子句来过滤结果是错误的,因为 `HAVING` 通常用于过滤分组后的结果,而这里应该在分组前使用 `WHERE` 来过滤数据。

因此,B选项是唯一正确的选择,因为它正确地使用了 `GROUP BY` 子句来按班级分组并计算平均成绩。