列表

详情


设有学生关系Student(学号,姓名,系名,课程号,成绩),则查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句为:

SELECT 学号,姓名, (  ) 

       FROM Student

       GROUP BY  (  ) 

       HAVING  (  ) 

第 1 问

A. SUM(成绩)

B. AVG(SUM(成绩))

C. AVG(成绩)AT平均成绩

D. AVG(成绩)AS平均成绩

第 2 问

A. 学号

B. 姓名

C. 系名

D. 课程号

第 3 问

A. COUNT(DISTINCT 学号)>3

B. COUNT(课程号)>3

C. COUNT(DISTINCT 学号)>=3

D. COUNT(课程号)>=3

参考答案: D A B

详细解析:

    本题考查SQL方面的基础知识。
    SQL提供可为关系和属性重新命名的机制,这是通过使用as子句来实现的。选项D的含义为:将计算的平均成绩值的属性列名命名为平均成绩,因此试题第1空的正确答案为D。
    试题第2空的正确答案为A,试题第3空的正确答案为B。因为GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课。
    综上分析,本题完整的SELECT语句如下:
    SELECT 学号,姓名,AVG(成绩)AS平均成绩
                 FROM Student
                 GROUP BY 学号
                 HAVING COUNT(课程号)>3

上一题