问题
单项选择题
“学生—选课—课程”数据库中的如下三个关系:
学生基本信息: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正确。