设S为学生关系,Sc为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句查询结果是(30)。Select S. * From S,SC Where S. Sno=Sc. Sno and Sc. Cno='c2'A.选出选修c2课程的学生信息B.选出选修c2课程的学生名C.选出S中学生号与Sc中学生号相等的信息D.选出S和Sc中的一个关系

题目

设S为学生关系,Sc为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句查询结果是(30)。Select S. * From S,SC Where S. Sno=Sc. Sno and Sc. Cno='c2'

A.选出选修c2课程的学生信息

B.选出选修c2课程的学生名

C.选出S中学生号与Sc中学生号相等的信息

D.选出S和Sc中的一个关系


相似考题
参考答案和解析
正确答案:A
解析:SelectS.*FromS,SCWhereS.Sno=Sc.SnoandSc.Cno='c2'等于将S,SC表作连接把SC表中Cno为课程号为c2的学生选择出来输出选修c2课程的学生信息。
更多“设S为学生关系,Sc为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句查询结果是(30)。Select S. * From S,SC Where S. Sno=Sc. Sno and Sc. Cno='c2'A.选出选修c2课程的学生信息B.选出选修c2课程的学生名C.选出S中学生号与Sc中学生号相等的信息D.选出S和Sc中的一个关系”相关问题
  • 第1题:

    设学生表 S( 学号,姓名,性别,年龄 ) 、课程表 C( 课程号,课程名,学分 ) 和学生选课表 SC( 学号 , 课程号,成绩 ), 检索学号、姓名和学生所选课程的课程名和成绩 , 正确的 SQL 命令是

    A) SELECT 学号 , 姓名 , 课程名 , 成绩 FROM S,SC,C WHERE S. 学号 =SC. 学号 AND SC. 学号 =C. 学号

    B) SELECT 学号 , 姓名 , 课程名 , 成绩 FROM (S JOIN SC ON S. 学号 =SC. 学号) JOIN C ON SC. 课程号 =C. 课程号

    C) SELECT S. 学号 , 姓名 , 课程名 , 成绩 FROM S JOIN SC JOIN C ON S. 学号 =SC. 学号 ON SC. 课程号 =C. 课程 号

    D) SELECT S. 学号 , 姓名 , 课程名 , 成绩 FROM S JOIN SC JOIN C ON SC. 课程号 =C. 课程号 ON S. 学号 =SC. 学号


    正确答案:D

  • 第2题:

    查询选修C2课程号的学生姓名,下列SQL语句中错误的是 ______。

    A.SELECT 姓名 FROM S WHERE EXISTS (SELECT*FROM SC WHERE 学号=S.学号 AND 课程号='C2')

    B.SELECT 姓名 FROM S WHERE 学号 IN (SELECT 学号 FROM SC WHERE 课程号='C2')

    C.SELECT 姓名 FROM S JOIN SC ON S.学号=SC.学号 WHERE 课程号='C2'

    D.SELECT 姓名 FROM S WHERE 学号= (SELECT 学号 FROM SC WHERE 课程号='C2')


    正确答案:D
    解析:要求查询选修C2课程号的学生的姓名,姓名字段在S表中,而课程号在SC表中,可知查询的结果来自一张表,而条件来自另一张表,所以这里可以用简单的连接查询或者用嵌套查询。
      选项A使用谓语EXISTS进行查询,EXISTS或NOT EXISTS是用来检查在子查洵中是否有结果返回(即存在元组或不存在元组)。选项A先查询出SC表中选修了C2课程的所有信息,并指定SC表和S表通过学号公共字段建立联系,接着查询出姓名字段所对应的值,这种查询是可以达到目的的。
      选项B是一个嵌套查询,首先在SC表中查出选修了C2课程的学生的学号,接着找出这些学号在S表中所对应的学生的姓名,从而查询出选修了C2课程的学生的姓名。
      选项C是一个连接查询,SC表和S表首先通过学号字段建立连接,再找出选修了C2课程的学生的姓名。
      选项D中先找出选修了C2课程的学生的学号,因为选修C2课程的学生可能不止一个,因此不能直接用“=”号,而应该用“IN",IN相当于集合运算符∈,所以选项D是错误的。

  • 第3题:

    设S为学生关系,SC为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句的查询结果是( )。 SELCET* FROM S,SC WHERE S .Sno=SC.Sno AND SC.Cno=,C2’

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A

  • 第4题:

    查询选修C2课程号的学生姓名,下列SQL语句中错误的是( )。

    A.SELECT姓名FRoM S WHERE EXISTS (SELECT*FROM SC WHERE学号=S.学号AND课程号=C2)

    B.SELECT姓名FROM S WHERE学号IN (SELECT学号FROM SC WHERE课程号=C2)

    C.SELECT姓名FROM S JOIN SC ON S.学号=SC.学号WHERE课程号=C2

    D.SELECT姓名FROM S WHERE学号= (SELECT学号FROM SC WHERE课程号=C2)


    正确答案:D
    D。【解析】选项D中的内查询SELECT学号FRMSCwHERE课程号=”C2”的查询结果有可能为多个,而选项D中的外层查询WHERE子句后面的逻辑表达式使用“=”,这样会导致产生错误的结果。

  • 第5题:

    设有学生表S(学号,姓名,性别,年龄)、课程表 (课程号。课程名,学分)和学生选课表SC(学号,课程号,绩).检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL语句是( )。

    A.SELECT学号,姓名,课程名,成绩FROM S,SC,CWHERE S.学号=SC.学号AND SC.学号=C.学号

    B.SELECT学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号)JOIN C0N SC.课程号=C.课程号

    C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号

    D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN c ON SC.课程号=C.课程 号ON S.学号=SC.学号


    正确答案:D
    D。【解析】连接查询中JOIN用来连接两个表,而ON是指定两表连接的关键字。

  • 第6题:

    设学生表S、课程表C和学生选课表SC的结构如下:

    S(学号,姓名,年龄,系别)

    C(课程号,课程名)

    SC(学号,课程号,成绩)

    查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

    A.SELECTS.姓名,SC课程号,SC成绩FROM S WHERE S.学号=SC.学号

    B.SELECTS.姓名,SC课程号,SC成绩FROM SC WHERE S.学号=SC.成绩

    C.SELECTS.姓名,SC课程号,SC成绩FROMS,SC WHERE S.学号=SC.学号

    D.SELECTS.姓名,SC课程号,SC成绩FROM S,SC


    正确答案:C

  • 第7题:

    设Student为学生关系,SC为学生选课关系,Sno为学生号,Sname为学生姓名,Cno为课程号,执行下面SQL语句的查询结果是( )。

    A)选出选修Cl课程的学生信息

    B)选出选修Cl课程的学生姓名

    C)选出Student中学生号与SC中学生号相等的信息

    D)选出Student和SC中的一个关系


    正确答案:B
    本题考查SQL中查询语句的知识。在SQL的查询语句中,Select子句用于指定最后结果中的字段,Where子句用于指定查询条件,只有满足条件的元组才会出现在结果中。对于本题来说,由于SeleCt子句后面是Student.Shame,故此查询结果只有学生姓名;Where子句中首先将Student.Sn0和SC.Sno相等的筛选出来,是为两表连接;并且条件SC.Cno='C1'限定了选修的课程号为Cl。

  • 第8题:

    设S为学生关系,SC为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句的查询结果( )。 Select S*From S,Sc Where S.Sno =SC.Sno and SC.Cno='C2'

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A

  • 第9题:

    设S为学生关系,SC为学生选课关系,sno为学生号,Cno为课程号,执行下面SQL语句的查询结果是 ( ) Select S* From S,SC Where S.Sno=SC.Sno=and SC, Cno=C2'

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A

  • 第10题:

    查询选修 C2 课程号的学生姓名,下列 SQL 语句中错误是

    A)SELECT 姓名 FROM S WHERE EXISTS (SELECT * FROM SC WHERE 学号 =S. 学号 AND 课程号='C2')

    B)SELECT 姓名 FROM S WHERE 学号 IN (SELECT 学号 FROM SC WHERE 课程号 ='C2')

    C)SELECT 姓名 FROM S JOIN SC ON S. 学号 =SC. 学号 WHERE 课程号 ='C2'

    D)SELECT 姓名 FROM S WHERE 学号 = (SELECT 学号 FROM SC WHERE 课程号 ='C2')


    正确答案:D

  • 第11题:

    学生一选课一课程数据库中的三个基本表: 学生信息表:STUDENT(sno,sname,sex,age,dept)主码为sno 课程信息表:CDLIRSB(cno,cname,teacher)主码为cno 学生选课信息表:SC(sno,cno,grade)主码为(sno,cno) “查询没有学习成绩的学生的学号和课程号”的SQL语句是()

    • A、SELECT snc,cno FROM SC WHERE grade=NULL
    • B、SELECT sno,cno FROM SC WHERE gradeIS’’
    • C、SELECT sno.cno FROM SC WHERE gradeISNULL
    • D、SELECT sno.cno FROM SC WHERE grade=’ ’

    正确答案:C

  • 第12题:

    单选题
    查询选修C2课程号的学生姓名,下列SQL语句中错误的是(  )。
    A


    SELECT姓名FROM S WHERE EXISTS
    (SELECT*FROM SC WHERE学号=S.学号AND课程号=‘C2’)

    B


    SELECT姓名FROM S WHERE学号IN
    (SELECT学号FROM SC WHERE课程号=‘C2’)

    C

    SELECT姓名FROM S JOIN SC ON S.学号=SC.学号WHERE课程号=‘C2’

    D


    SELECT姓名FROM S WHERE学号=
    (SELECT学号FROM SC WHERE课程号=‘C2’)


    正确答案: C
    解析:
    根据题目要求,输出的是这些学号对应的学生姓名。WHERE子句说明查询条件,即选择元组的条件。“SELECT学号FROM SC WHERE课程号=‘C2’”语句的执行结果是查找选修C2课程号的所有学生学号。

  • 第13题:

    设S为学生关系,SC为学生选课关系,Sno为学生号,CnoO为课程号,执行下面 SQL语句的查询结果是( )。Select S * From S, SC When S,Sno=SC)Sno and SC)Cno='C2'

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A

  • 第14题:

    设S为学生关系,Sc为学生选课关系,Sno为学生号,Cno为课程号,执行下面SQL语句查询的结果是( )。 Select S.* From S,SC Where S. Sno=SC. Sno and SC. Cno='C2'

    A.选出选修c2课程的学生信息

    B.选出选修c2课程的学生名

    C.选出S中学生号与Sc中学生号相等的信息

    D.选出S和Sc中的一个关系


    正确答案:A
    解析:SQL语句中Select S.*表明要查询的是学生关系中的学生信息,Where S.Sno= SC.Sno and SC.Cno='c2'限定了查询范围和查询条件,即是选修c2课程的学生。

  • 第15题:

    查询选修C2课程号的学生姓名,下列SQL,语句中错误的是( )。

    A.SELECT姓名FROM S WHERE EXISTS (SELECT*FROM SC WHERE学号=S.学号AND 课程号=’C2’)

    B.SELECT姓名 FROM S WHERE学号IN (SELECT学号FROM SC WHERE课程号=’C2 ’)

    C.SELECT姓名FROM S JOIN SC ON S.学号=SC. 学号WHERE课程号=’C2’

    D.SELECT姓名FROM S WHERE学号= (SELECT学号FRM SC WHERE课程号=’C2’)


    正确答案:D
    D。【解析】选项D中的内查询SELECT学号FROMSCWHERE课程号=”C2”的查询结果有可能为多个,而选项D中的外层查询WHERE子句后面的逻辑表达式使用“=”,这样会导致产生错误的结果。

  • 第16题:

    设Student为学生关系,SC为学生选课关系,Sn0为学生号,Sname为学生姓名,Cno为课程号,执行下面SQL语句的查询结果是( )。

    A. 选出选修Cl课程的学生信息

    B. 选出选修Cl课程的学生姓名

    C. 选出Student中学生号与SC中学生号相等的信息

    D. 选出Student和SC中的一个关系


    正确答案:B
    本题考查SQL中查询语句的知识。在SQL拘查询语句中,Select子句用于指定最后结果中的字段,Where子句用于指定查询条件,只有满足条件豹元组才会出现在结果中。对于本题来说,由于Select于句后面是Stttdent.Shame,故此查询结果只有学生姓名;Where子句中首先将Student.Sn0和SC.Sno相等的筛选出来,是为两表连接;并且条件sC.Cno-Cl’限定了选修的课程号为Ct。

  • 第17题:

    设S为学生关系,SC为学生选课关系,SNO为学生号,CNO为课程号,执行下面SQL语句的查询结果是( )。 SELECT S.*FROM S,SC WHERE S.SNO=SC.SNO AND SC.CNO='C2'

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A
    解析:本题考查SQL语句的功能。先看FROM子句,是从关系S和关系SC中查找:接着看WHERE子句,SC.CNO='C2'要求课程号为 C2,S.SNO=SC.SNO,要求关系S的学号等于关系 SC的学号,整个WHERE子句的意思是找出关系S中选修了C2课程的所有学号;再看要求显示的是 S.*,学生关系的所有信息,整条语句的功能是选出选修了C2课程的学生信息,故本题选择A。

  • 第18题:

    设S为学生关系,SC为学生选课关系,SNO为学生号,CNO为课程号,执行下面SQL语句的查询结果是

    SELECT S.*FROM S,SCWHERE S.SNO=S

    A.选出选修C2课程的学生信息

    B.选出选修C2课程的学生名

    C.选出S中学生号与SC中学生号相等的信息

    D.选出S和SC中的一个关系


    正确答案:A
    解析:先看FROM子句,是从关系S和关系SC中查找;接着看WHERE子句,SC.CNO=′C2′要求课程号为C2,S.SNO=SC.SNO要求关系S的学号等于关系SC的学号,整个WHERE子句的意思是找出关系S中选修了C2课程的所有学号;再看要求显示的是S.*,学生关系的所有信息,整条语句的功能是选出选修了C2课程的学生信息。

  • 第19题:

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

    A.s.sno=sc.sno AND sex=′女′AND cname=′计算机′

    B.s.sno=sc.sno AND c.cno=sc.cno AND cname=′计算机′

    C.sex=′女′AND cname=′计算机′

    D.s.sno=sc.sno AND c.cno=sc.cno AND sex=′女′AND cname=′计算机′


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

  • 第20题:

    设Student为学生关系,SC为学生选课关系,Sno为学生号,Sname为学生姓名,Cno为课程号,执行下列SQL语句的查询结果是( )。

    Select Student.Sname

    From Student,SC

    Where Student.Sno=SC.Sno

    And SC.Cno='C1’

    A.选出选修C1课程的学生信息

    B.选出选修C1课程的学生姓名

    C.选出Student中学生号与SC中学生号相等的信息

    D.选出Student和SC中的一个关系


    正确答案:B
    解析:本题考查SQL中查询语句的知识。在SQL的查询语句中,Select子句用于指定最后结果中的字段,Where子句用于指定查询条件,只有满足条件的元组才会出现在结果中。对于本题来说,由于Select子句后面是Student.Sname,故此查询结果只有学生姓名;Where子句中首先将Student.Sno和SC.Sno相等的筛选出来,是为两表连接;并且条件SC.Cno='C1'限定了选修的课程号为C1。

  • 第21题:

    设有关系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='计算机'。

  • 第22题:


    A.选出选修C2课程的学生信息
    B.选出选修C2课程的学生名
    C.选出S中的学生号与SC中学生号相等的信息
    D.选出S和SC中的一个关系

    答案:B
    解析:
    从where条件可以看出找的是选C2这门课的学生的学号,并且根据学号,最后选出学生的名字。

  • 第23题:

    假定学生关系是S(SNO,SNAME,SEX,AGE),其属性是学号,姓名,性别,年龄;课程关系是C(CNO,CNAME),属性是课程号,课程名;学生选课关系是SC(SNO,CNO,GRADE),属性是学号,课程号,成绩。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系有()、()、(),SQL语句为:SELECT SNAME FROM WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND();查询所有课程都及格的学生学号,姓名,SQL语句为:SELECT SNO, SNAME FROM()WHERE() (SELECT * FROM SC WHERE S.SNO=SC.SNO AND ())。


    正确答案:s;sc;c;CNAME=‘computer’and SEX=‘女’;S;NOT EXISTS;GRADE<60