问题
单项选择题
第(24)至(26)题基于“学生-选课-课程”数据库中的如下三个关系:
学生基本信息:S(S#, SNAME,SEX,AGE)
选课信息:SC(S#, C#,GRADE)
课程信息:C(C#, CNAME, TEACHER)
若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是
A.SELECT S# FROM SC GROUP BY S# WHERE COUNT(*)>3
B.SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>3
C.SELECT S# FROM SC ORDER BY S# WHERE COUNT(*)>3
D.SELECT S# FROM SC ORDER BY S# HAVING COUNT(*)>3
答案
参考答案:B
解析: 选课信息在SC表中,因此使用关系SC,按学号S#分组(GROUP BY S#),然后对分组的结果使用HAVING语句进行条件限制,用聚合函数COUNT统计课程号C#大于3的结果输出。所以选项B正确。