问题 单项选择题

“学生—选课—课程”数据库中的如下三个关系:

学生基本信息: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正确。

单项选择题
选择题