niusouti.com

设学生选课关系模式为SC(Sno,Cno,Grade),其中,Sno为学号,Cno为课程号, Grade为成绩,SQL查询语句如下:SELECT SnoFROMSC SCXWHERE NOT EXISTS(SELECT*FROM SC SCYWHERE SCY.Sno='1042'AND NOT EXISTS(SELECT *FROMSCSCZWHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));与该查询等价的元组演算表达式为{t|(13)(SC(u)∧SC(v)∧(14

题目

设学生选课关系模式为SC(Sno,Cno,Grade),其中,Sno为学号,Cno为课程号, Grade为成绩,SQL查询语句如下:

SELECT Sno

FROMSC SCX

WHERE NOT EXISTS

(SELECT*

FROM SC SCY

WHERE SCY.Sno='1042'AND NOT EXISTS

(SELECT *

FROMSCSCZ

WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));与该查询等价的元组演算表达式为{t|(13)(SC(u)∧SC(v)∧(14)∧t[1]= u[1])}。

A.

B.

C.

D.


相似考题
参考答案和解析
正确答案:B
解析:此题考查的是关系代数方面的知识。
  通过分析可知SQL语句实现的功能检索至少选修了学生“1042”选修的全部课程的学生号码。因为在SELECT查询中,没有逻辑蕴含,但可以利用谓词演算将一个逻辑蕴含的谓词等价地转换,其形式为;p→q≡p∨q。本查询可以看成查询学号为x的学生,对所有的课程y只要1042学生选修了课程y,则x也选修了y。形式化表示如下:
  用p表示谓词“学生1042选修了课程y”
  用q表示谓词“学生x也选修了y”
  则此查询可表示为任给一门1042选修的课程y,学生x也选修了,其形式如下:
更多“ 设学生选课关系模式为SC(Sno,Cno,Grade),其中,Sno为学号,Cno为课程号, Grade为成绩,SQL查询语句如下:SELECT SnoFROMSC SCXWHERE NOT EXISTS(SEL”相关问题
  • 第1题:

    第( 36 ) - ( 37 )题基于学生一选课一课程数据库中的三个基本表:

    学生信息表: STUDENT ( sno, sname, sex, age, dept ) 主码为 sno

    课程信息表: CDLIRSB ( cno, cname, teacher ) 主码为 cno

    学生选课信息表: SC ( sno, cno, grade ) 主码为( sno, cno )

    ( 36 )“ 查询没有学习成绩的学生的学号和课程号 ” 的 SQL 语句是

    A ) SELECT snc, cno FROM SC WHERE grade=NULL

    B ) SELECT sno, cno FROM SC WHERE grade IS' '

    C ) SELECT sno. cno FROM SC WHERE grade IS NULL

    D ) SELECT sno. cno FROM SC WHERE grade =' '


    正确答案:C

  • 第2题:

    设学生关系S(sno, sname, sex, dept)的主码为sno,学生选课关系SC(sno, cno, grade)的主码为(sno, cno),则关系模式R(sno, cno, sex, dept, grade)最高属于( )。

    A.1NF

    B.2NF

    C.3NF

    D.BCNF


    正确答案:A

  • 第3题:

    对于教学数据库的三个基本表:S(Sno,Sname,Ssex),SC(Sno,Cno,Grade),C(Cno,Cname, Teacher),其中S为学生表,SC为学生选课表,C为课程表,则对于语句:检索至少选修LIU老师所授课课程中一门课程的女生姓名,SQL语句错误的是______。

    A.SELECT Sname FROM S,SC,C WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND Teacher=‘LIU’AND Ssex=‘F’

    B.SELECT Sname FROM S WHERE Ssex=‘F’AND Sno IN (SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM C WHERE Teacher=‘LIU’))

    C.SELECT Sname FROM S WHERE Ssex=‘F’AND EXISTS (SELECT* FROM SC WHERE SC.Sno=S.Sno AND EXISTS (SELECT*

    D.SELECT Sname FROM S WHERE Ssex=‘F’AND EXISTS(SELECT* FROM SC WHERE SC.Sno=S.Sno AND EXISTS (SELECT*


    正确答案:C

  • 第4题:

    基于学生-课程数据库中的三个基本表:学生信息表:s(sno, sname, sex, age, dept) 主码为sno 课程信息表:c(cno, cname, teacher) 主码为cno 学生选课信息表:sc(sno, cno, grade) 主码为(sno, cno)

    “从学生选课信息表中找出无成绩的元组”的SQL语句是

    A.SELECT * FROM sc WHERE grade=NULL

    B.SELECT * FROM sc WHERE grade IS ‘ ’

    C.SELECT * FROM sc WHERE grade IS NULL

    D.SELECT * FROM sc WHERE grade =‘ ’


    正确答案:C
    解析:IS NULL表示空值,空值不能表示为列名=NULL。

  • 第5题:

    某数据库中有学生选课表SC(Sno,cno,Grade),各属性分别表示为学号,课程号以及成绩。查询选修了3门课以上的学生的学号:

    SELECT Sno

    FROM SC

    GROUP BY Sno

    ______。


    正确答案:HAVING XOUNT(*)>3
    HAVING XOUNT(*)>3 解析:先用GROUP BY子句按Sno进行分组,再用聚集函数 COUNT对每一组计数,HAVING短语给出了选择的条件,只有满足条件的组才会被选出。

  • 第6题:

    基于学生一选课一课程数据库中的三个基本表:

    学生信息表:STUDENT(Sno、sname,sex,age,dept)主码为sno

    课程信息表:COURSE(cno,cname,teacher)主码为ClIO

    学生选课信息表:SC(SIlO,con,grade)主码为(sno,ClaO)

    “查询没有学习成绩的学生的学号和课程号”的SQL语句是

    A.SELECT sno,ClIO FROM SC WHERE grade=NULL

    B.SELECT sno,cno FROM SC WHERE grade Is‘ ’

    C.SELECT sno,cno FROM SC WHERE grade IS NULL

    D.SELECT sno,cno FROM SC WHERE grade=‘ ’


    正确答案:C
    解析:本题考查的是涉及空值NULL的查询。涉及空值赋值的一般形式是:列名Is[NOT]NULL,注意不能写成:列名=NULL;或列名=NOTNULL。本题答案为c)。

  • 第7题:

    学生选课关系模式为SC(Sno,Cno,Grade),其中Sno为学号,Cno为课程号,Grade为成绩,SQL查询语句如下:

    SELECT Sno

    FROM SC SCX

    WHERE NOT EXISTS

    (SELECT *

    FROM SC SCY

    WHERE SCY.Sno='1042' AND NOT EXISTS

    (SELECT *

    FROM SC SCZ

    WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));

    与该查询等价的元组演算表达式为{t|(54)(Sc(u)∧SC(v)∧(55)∧t[1] =u[1])。

    A.

    B.

    C.

    D.


    正确答案:B

  • 第8题:

    第(37)至{38)题基于学生—课程数据库中的三个基本表:学生信息表:3(sno,sname,sex,age,dept)主码为sno课程信息表:c(cno,cname,teacher)主码为eno学生选课信息表:sc(sno,cno,grade)主码为(sno,cno)“从学生选课信息表中找出无成绩的元组”的SQL语句是

    A.SELECT * FROM sc WHERE grade=NULL

    B.SELECT * FROM sc WHERE grade IS"

    C.SELECT* FROM sc WHERE grade IS NULL

    D.SELECT* FROM sc WHERE grade="


    正确答案:C
    解析:本题关键点是如果一个值为空,则正确的表达方式为“ISNULL”,所以本题正确的SQL。语句为C(SELECT*FROMscWHEREgradeISNULL)。

  • 第9题:

    设有关系模式:SC(sno,cno,grade),各属性含义依次是学号、课程号、分数。要查询分数低于60分的学生学号,正确的SQL语句是______。

    A) SEI,ECT sno FROM SC WH ERE grade BETWEEN O AND 60

    B) SELECT sno FROM SC WHERE grade<60

    C) SELECT sno FROM SC HAVlNG grade BETWEEN O AND 60

    D) SELECT sno FROM SC HAVING grade<60

    A.

    B.

    C.

    D.


    正确答案:B

  • 第10题:

    学生一选课一课程数据库中的三个基本表: 学生信息表: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

  • 第11题:

    学生选课信息表:sc(sno,cno,grade),主键为(sno,cno),从学生选课信息表中找出无成绩的元组的SQL语句是()。

    • A、SELECT * FROM sc WHERE grade=NULL
    • B、SELECT * FROM sc WHERE grade IS “  ”
    • C、SELECT * FROM sc WHERE grade=‘  ’
    • D、SELECT * FROM sc WHERE grade IS NULL

    正确答案:D

  • 第12题:

    单选题
    学生选课信息表:sc(sno,cno,grade),主键为(sno,cno),从学生选课信息表中找出无成绩的元组的SQL语句是()。
    A

    SELECT * FROM sc WHERE grade=NULL

    B

    SELECT * FROM sc WHERE grade IS “  ”

    C

    SELECT * FROM sc WHERE grade=‘  ’

    D

    SELECT * FROM sc WHERE grade IS NULL


    正确答案: A
    解析: 暂无解析

  • 第13题:

    对于教学数据库的三个基本表:S(Sno,Sname,Ssex),SC(Sno,Cno,Grade),C(Cno,Cname, Teacher),其中S为学生表,SC为学生选课表,C为课程表,则对于语句:检索至少选修LIU老师所授课课程中一门课程的女生姓名,SQL语句错误的是______。

    A) SELECT Sname

    FROM S,SC,C

    WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND Teacher=‘LIU’AND Ssex=‘F’

    B) SELECT Sname

    FROM S WHERE Ssex=‘F’AND Sno IN

    (SELECT Sno

    FROM SC

    WHERE Cno IN(SELECT Cno FROM C

    WHERE Teacher=‘LIU’))

    C) SELECT Sname

    FROM S WHERE Ssex=‘F’AND EXISTS (SELECT*

    FROM SC

    WHERE SC.Sno=S.Sno AND EXISTS

    (SELECT*

    FROM C

    WHERE Teacher=‘LIU’))

    D) SELECT Sname

    FROM S WHERE Ssex=‘F’AND EXISTS(SELECT*

    FROM SC

    WHERE SC.Sno=S.Sno AND EXISTS

    (SELECT*

    FROM C

    WHERE C.Cno=SC.Cno AND Teacher=‘LIU’))


    正确答案:C
        (22) [答案] C

  • 第14题:

    在关系SC中,查询学习课程号为′DB′,且成绩在60至90之间的学生学号的正确的 SQL命令是

    A.SELECT SNO FROM SC WHERE CNO=′DB′AND GRADE DETWEEN 60 AND 90

    B.SELECT SNO FROM SC WHERE CNO=′DB′OR GRADE BETWEEN 60 AND 90

    C.SELECT SNO FROM SC WHERE CNO=′DB′AND GRADE>=60 AND 90

    D.SELECT SNO FROM SC WHERE CNO=′DB′AND GRADE<=60 AND GRADE>=90


    正确答案:A
    解析:GRADE BETWEEN 60 AND 90等价于GRADE>=60 AND GRADE=90。

  • 第15题:

    已知学生选课信息表:sc(sno,cno,grade)。查询“至少选修了一门课程,但没有学习成绩的学生学号和课程号”的SQL语句是

    A.SELECT sno,cno FROM sc WHERE grade=NULL

    B.SELECT sno,cno FROM sc WHERE grade IS‘’

    C.SELECT sno,cno FROM sc WHERE grade IS NULL

    D.SELECT sno,cno FROM sc WHERE grade=‘’


    正确答案:C
    解析:IS NULL表示空值,空值不能表示为列名=NULL。

  • 第16题:

    设有关系模式sc (sno,cno,grade),各属性含义依次为学号、课程号、分数。SQL 语句“SELECT sno,AVG(grade)FROM sc子句”的功能是计算每个学生的平均分数,其中的子句应是

    A.GROUP BY grade

    B.GROUP BY sno

    C.ORDER BY grade

    D.ORDER BY sno


    正确答案:B
    解析:本题考查简单的SQL语句。题目中SQL语句的功能是计算每个学生的平均分数,因此需要按照学号来进行分组。在select语句中可以使用group by子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,题目中的AVG就是一个求平均数的函数,GROUP BY sno 是按照学号来分组,选项B正确。GROUP BY grade 是按照分数来分组,不能满足题目要求;ORDER BY grade 是按照分数来排序;ORDER BY sno 是按照学号来排序。本题正确答案为选项B。

  • 第17题:

    在关系SC中,查询学习课程号为'OB',且成绩在60至90之间的学生学号的正确的 SQL命令是

    A.SELECT SNO FROMSC WHERE CNO='DB' AND GRADE BETWEEN 60 AND 90

    B.SELECT SNO FROM SC WHERE CNO='DB' OR GRADE BETWEEN 60 AND 90

    C.SELECT SNO FROM SC WHERE CNO='DB' AND GRADE>=60 AND 90

    D.SELECTSNO FROM SCWHERECNO='DB' AND GRADE<=60 AND GRADE>=90


    正确答案:A
    解析:GRADEBETWEEN60AND90等价于GRADE>=60ANDGRADE=90。

  • 第18题:

    有学生选课表SC(Sno,Cno,Grade),各属性为学号,课程号,成绩;完成SQL语句:找出每个学生超过他选修课平均成绩的课程号。

    SELECT Sno,Cno

    FROM SC X

    WHERE _______

    (SELECT ______

    FROM SC Y

    ______ );


    正确答案:Grade>= AVG(Grade) WHERE Y.Sno=X.Sno
    Grade>= AVG(Grade) WHERE Y.Sno=X.Sno

  • 第19题:

    查找学生姓名及其所选修课程的课程号和成绩,正确的SQL语句是

    A.SELECT sname FROM student,SELECT cno,grade FROM sc WHERE student.sno=sc.sno

    B.SELECT sname,cno,grade FROM student,course WHERE student.sno=course.cno

    C.SELECT sname,cname,grade FROM student,course,sc WHERE student.sno=sc.sno and sc.cno=course,cno

    D.SELECT sname,cno,grade FROM student,sc WHERE student.sno=sc.sno


    正确答案:D
    解析:题意中要求查找学生姓名、课程号和成绩,这三个属性可以查找两个关系表student和sc,通过条件student.so=sc.so进行连接。

  • 第20题:

    试题基于如下三个关系,其中学生关系student的主码是sno,课程关系course的主码是cno,选课关系SC的主码是(sno,cno)。

    查找学生姓名及其所选修课程的课程号和成绩,正确的SQL语句是( )。

    A)SELECT sname FROM student,SELECT cno,grade FROM sc

    WHERE student.sno=sc.sno

    B)SELECT sname, cno,grade FROM student,course

    WHERE student.sno=course.cno

    C)SELECT sname, cname,grade FROM student,course, sc

    WHERE student.sno=sc.Snoand sc.cno=course.cno

    D)SELECT sname,cno, grade FROM student,sc

    WHERE student.sno=sc.sno


    正确答案:D
    要查询学生姓名,选修课程号及对应成绩,在同一SELECT子句后应包含这三个字段,故选项A)错误;而学生学号是用来关联sc与student表,故在where子句中应有“student.sno=sc.sno”,故选项B)错误;对于选项C),它没有查询课程号,而是查询的课程名,所以错误。

  • 第21题:

    设学生关系S(sno,sname,sex,dept)的主码为sno,学生选课苯系SC(sno,cno,grade)的主码为(sno,cno),则关系模式R(sno,cno,sex,dept,grade)最高属于( )。

    A.1NF

    B.2NF

    C.3NF

    D.BCNF


    正确答案:A
    解析:本题考查关系模式的规范化。关系R的每个分量都是不可分的数据项,属于1NF。若关系模式属于1NF,且每一个非主属性完全函数依赖于码,则属于2NF。这个关系中,非主属性“cno”并不依赖于码sno,故不属于2NF,仍然属于1NF。因此,本题的正确答案是A。

  • 第22题:

    假定学生关系是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

  • 第23题:

    单选题
    学生一选课一课程数据库中的三个基本表: 学生信息表: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=’ ’


    正确答案: D
    解析: 暂无解析