根据SQL标准,查询表student(sno,sname,sex,dept)中所有学生的选修课程数,其中选修记录在表SC(sno,cno,grade)中,两表中sno为关联字段。下面哪条语句合适?()A select sno,count(cno) from SCB select sno,count(cno) from studentC select a.sno,count(cno) from student a left outer join SCD select a.sno,count(cno) fro

题目

根据SQL标准,查询表student(sno,sname,sex,dept)中所有学生的选修课程数,其中选修记录在表SC(sno,cno,grade)中,两表中sno为关联字段。下面哪条语句合适?()

A select sno,count(cno) from SC

B select sno,count(cno) from student

C select a.sno,count(cno) from student a left outer join SC

D select a.sno,count(cno) from SC left outer join student a


相似考题
更多“根据SQL标准,查询表student(sno,sname,sex,dept)中所有学生的选修课程数,其中选修记录在表SC(s ”相关问题
  • 第1题:

    设有关系S(SNO,SNAME,SEX),C(CNO,CNAME),SC(SNO,CNO,GRADE)。其中SNO为学生号,SNAME为学生姓名,SEX为性别,CNO为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECTSNAMEFROMS,C,SC WHERE子句。这里WHERE子句的内容是

    A.S.SNO=SC.SNO andSEX='女'andCNAME='计算机'

    B.S.SNO=SC.SNO andC.CNO=SC.CNO andCNAME='计算机'

    C.SEX='女'andCNAME='计算机'

    D.S.SNO=SC.SNO andC.CNO=SC.CNO andSEX='女'andCNAME='计算机'


    正确答案:D
    解析:本题涉及三个表的连接查询,需要求的是WHERE后面的连接条件,首先连接S与SC表,连接条件为S.SNO=SC.SNO;然后再连接C表和SC表,连接条件为C.CNO=SC.CNO。这样就可以将三个表连接起来,但是分析题意,同时还要在连接后所形成的表中满足SEX='女'和CNAME='计算机'。通过以上分析,连接是同时满足的关系,故应用'AND'连接。因此,WHERE子句内容应为:S.SNO=SC.SNOandC.CNO=SC.CNOandSEX='女'andCNAME='计算机'。

  • 第2题:

    某学校的学生成绩管理数据库的关系模式如下;

    S(SNO,SNAME,SEX,AGE,DEPT);

    C(CNO,CNAME);

    SC(SNO,CNO,SCORE)

    其中,S表示学生表。它的各字段以此为学号,姓名、性别、年龄和所在学院;C表示课程表,它的各字段依次为课程号、课程名;SC表示成绩表,它的各字段依次为学号、课程号和分数。

    使用SQL语句,查询“计算机学院”所有“男生”的学号,姓名和年龄。

    使用SQL语句,查询选修“计算机网络”课程的学生姓名和分数。

    使用SQL语句,查询所有课程的课程号以及最高分。

    SELECT CNO,MAX(SCORE) FROM SC GROUP BY CNO

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:
    SELECTSNO,SNAME,AGEfromSwhereSEX='男'andDEPT='计算机学院'


    问题 2 答案解析:
    SELECTSNAME,SCOREfromS,SC,CwhereS.SNO=SC.SNOANDSC.CNO=C.CNO


    问题 3 答案解析:
    SELECTCNO,MAX(SCORE)FROMSCGROUPBYCNO


    问题 4 答案解析:
    INSERTINTOC(CNO,CNAME)VALUES(15,'高等数学')

  • 第3题:

    在“学生-选课-课程”数据库中的三个关系如下:S(SNo,SName,Sex,Age), SC(SNo,CNo,Grade),C(CNo,CName,Teacher)。查找选修“数据库技术”这门课程的学生的学生名和成绩。使用连接查询的SQL语句是: SELECT SName, Grade FROM S, SC, C WHERE CName='数据库技术' AND S.SNo=SC.SNo AND


    S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。现要查找选修“数据库技术”这门课程的学生的学生姓名和成绩,可使用如下的SQL语句。

  • 第4题:

    设有关系S(SNO,SNAME,SEX),C(CNO,CNAME),SC(SNO,CNO)。其中SNO为学号,SNAME为学生姓名,SEX为性别,CNO为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECTSnameFROMS,SC,C WHERE子句。这里WHERE子句的内容是

    A.s.sno=sc.sno ANDSex=‘女’ANDCname=‘计算机’

    B.s.sno=sc.sno ANDC.cno=sc.cno ANDCname=‘计算机’

    C.Sex=‘女’ANDCname=‘计算机’

    D.s.sno=sc.sno ANDC.cno=sc.cno ANDSex=‘女’ANDCname=‘计算机’


    正确答案:D
    解析:用SQL的SELECT语句完成查询操作时,首先要分析查询结果和查询条件涉及的属性都来自于哪些关系,如果涉及到两个或两个以上的关系,则可以采用自然连接或者子查询来完成。另外,如果涉及到的两个关系没有相同的属性,不能直接进行自然连接,就需要引入第3个关系并与两个关系进行自然连接。本题中,查询选修“计算机”课的全体女学生姓名的操作中涉及到的属性有SNAME、SEX、CNAME,分别来自关系S和C,但S和C这两个关系没有相同的属性,所以还要引入关系SC,分别与关系S和C进行自然连接。

  • 第5题:

    设有关系S(SNO,SNAME,SEX),C(CNO,CNAME),SC(SNO,CNO,GRADE)。其中SNO为学生号,SNAME为学生姓名,SEX为性别,CNO为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。这里WHERE子句的内容是( )。

    A.S.SNO=SC.SNOandSEX=‘女′andCNAME=‘计算机′
    B.S.SNO=SC.SNOandC.CNO=S
    C.CNOandCNAME=‘计算机′C.SEX=‘女′andCNAME=‘计算机′
    D.S.SNO=SC.SNOandC.CNO=SC.CNOandSEX=‘女′andCNAME=‘计算机′

    答案:D
    解析:
    本题涉及三个表的连接查询,需要求的是WHERE后面的连接条件,首先连接S与SC表,连接条件为S.SNO=SC.SNO;然后再连接C表和SC表,连接条件为C.CNO=SC.CNO。这样就可以将三个表连接起来,但是分析题意,同时还要在连接后所形成的表中满足SEX=‘女′和CNAME=‘计算机′。通过以上分析,连接是同时满足的关系,故应用‘AND′连接。因此.WHERE子句内容应为:S.SNO=SC.SNOandC.CNO=SC.CNOandSEX=‘女′andCNAME=‘计算机′。