己知基本表SC(S#,C#,GRADE),则“统计选修了课程的学生人次数”的SQL语句为A.SELECTCOUNT(DISTINCTS#)FROMSCB.SELECTCOUNT(S#)FROMSCC.SELECTCOUNT(*)FROMSCD.SELECTCOUNT(DISTINCT)FROMSC

题目

己知基本表SC(S#,C#,GRADE),则“统计选修了课程的学生人次数”的SQL语句为

A.SELECTCOUNT(DISTINCTS#)FROMSC

B.SELECTCOUNT(S#)FROMSC

C.SELECTCOUNT(*)FROMSC

D.SELECTCOUNT(DISTINCT)FROMSC


相似考题
参考答案和解析
正确答案:A
解析:本题需要从选课表中统计选修了课程的学生人数,那么需要具有统计计数功能命令COUNT来实现,因为在选课表中,每个学生可以选修多门课程,这样会造成每个学生都有多条选课记录,因此还必须采用关键字DISTINCT来限制,因此本题的正确答案是A。
更多“己知基本表SC(S#,C#,GRADE),则“统计选修了课程的学生人次数”的SQL语句为A.SELECTCOUNT(DISTINCTS ”相关问题
  • 第1题:

    该题基于“学生-选课-课程”数据库中的3个关系。

    学生基本信息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
    解析: SELECT语句的一般格式是:
    SELECT [ALL|DISTICT]目标列表达式>[,目标列表达式>]…
    FROM基本表(或视图)>[,基本表(或视图)>]…
    [WHERE条件表达式>)
    [GROUP BY列名1>[HAVING内部函数表达式>]]
    [ORDER BY列名>[ASC|DESC]];
      整个语句的含义是:根据WHERE子句的条件表达式,从基本裹或视图找出满足条件的元组,按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有ORDER子句,则结果表要根据指定的列名1按升序或降序掉序。GROUP子句将结果按列名1分组,每个组产生结果表中的一个元组。通常在每组中给出作用集函数,分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才予以输出。
      根据题童,先用GROUP BY于句按S#进行分组,再用集函数 COUNT对每一组计数。HAVING短语的条件是学生选修的课超过3门的组才会被选出来。所以正确的是选项B)。

  • 第2题:

    有三个表,即学生表 S、课程表 C 和学生选课表 SC,它们的结构 如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中,S#为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程 号,CN 为课程名,GRADE 为成绩。 检索学生姓名及其所选修课程的课程号和成绩。正确的 SELECT 语句是()。

    A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#

    B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE

    C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#

    D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC


    C

  • 第3题:

    有三个表,即学生表 S、课程表 C 和学生选课表 SC,它们的结构 如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中,S#为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程 号,CN 为课程名,GRADE 为成绩。 要检索学生姓名及其所选修课程的课程号和成绩。正确的 SELECT 语句是()。

    A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#

    B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE

    C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#

    D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC


    C

  • 第4题:

    “学生-选课-课程”数据库中的3个关系: S(S#,SNAME,SEX,DEPARTMENT),主码是S#; C(C#,CNAME,TEACHER),主码是C#; SC(S#,C#,GRADE),主码是(S#,C#)。 若要“查询选修了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


    D

  • 第5题:

    基于这样的三个表,即学生表 S、课程表 C 和学生选课表 SC,它们的结构 如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中,S#为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程 号,CN 为课程名,GRADE 为成绩。 检索学生姓名及其所选修课程的课程号和成绩。正确的 SELECT 语句是()。

    A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#

    B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE

    C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#

    D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC


    SELECT S.SN,SC.C#,SC.GRADE FROM S, SC WHERE S.S#=SC.S#