(31)到(35)题使用如下数据表。 学生”表:学号C(8),姓名C(8),性别C(2),系名(10),出生日期D “课程”表:课程编号C(4),课程名称C(12),开课系名C(10) “成绩”表:学号C(8),课程编号C(4),成绩I 若有如下SQL

admin2013-05-15  44

问题 (31)到(35)题使用如下数据表。
学生”表:学号C(8),姓名C(8),性别C(2),系名(10),出生日期D
“课程”表:课程编号C(4),课程名称C(12),开课系名C(10)
“成绩”表:学号C(8),课程编号C(4),成绩I
若有如下SQL查询语句:          SELECT课程名称,开课系名,COUNT(学号)AS选修人数;          FROM成绩,课程;          WHERE课程.课程编号=成绩.课程编号;          GROUP BY课程名称;          HAVING COUNT(*)>3       上述语句所表示的含义是(  )。      

选项 A、检索开课在3门以上的开课系名、课程名称和选修人数
B、检索选修了3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数
C、检索每门课程中,有3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数
D、检索选修人数最多的3门课程的记录,显示结果包括课程名称、开课系名和选修人数

答案C

解析 在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中。当WHERE子句、GROUP BY子句和HAVING子句同时出现的时候,首先执行WHERE子句,从表中选择符合条件的行:然后由GROUP BY子句对选取的行进行分组;再执行计算函数;最后执行HAVING子句选取满足条件的分组。本题中,WHERE子句中指定的是两表连接的条件:接着通过GROUP BY子句指明按“课程名称”对记录分组;然后执行函数COUNT()统计分组后,可以确定每
转载请注明原文地址:https://jikaoti.com/ti/EvT0FFFM
0

最新回复(0)