00912互联网数据库

已知关系模式:学生(学号,姓名,性别,年龄,系别),选课(学号,课程号,成绩)用关系代数实现查询没有选修课程号为‘C3’课程的学生学号。

题目

已知关系模式:学生(学号,姓名,性别,年龄,系别),选课(学号,课程号,成绩)用关系代数实现查询没有选修课程号为‘C3’课程的学生学号。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有如图所示的E-R模型:

将上述E-R模型转换成关系模式,正确的结果应是

A.成绩(学号,姓名,年龄,性别,课程号,课程名,学时,分数)

B.学生(学号,姓名,年龄,性别,分数)、课程(课程号,课程名,学时)

C.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时,分数)

D.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时)、成绩(学号,课程号,分数)


正确答案:D
解析:本题考查E-R模型转换成关系模式的过程。E-R模型可以向现有的多种数据库模型转换,对不同的数据库模型有不同的转换规则。向关系模型转换的规则是:一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的关系则有:一个1:1联系可以转换为一个独立的关系模型;一个1:n的联系可以转换为一个独立的关系模型,也可以与联系的任意n端实体所对应的关系模式合并;一个m: n的联系转换为一个关系模式。题目给出的E-R模型包含两个实体:学生和课程,包含一个m: n的联系,应该转换为一个关系模式。正确答案为选项D。

第2题:

检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩IS NULL

B.SELECT、学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


正确答案:C
解析:inner join on表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

第3题:

●已知基本表:学生(学号,姓名,性别,年龄,系名)

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

要检索所有比"王华"年龄大的学生姓名、年龄和性别,正确的语句是 (25) ,要检索学生姓名及其所选修课程的课程号和成绩,正确的语句是 (26) 。

(25) A.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>(SELECT 年龄

FROM 学生

WHERE 姓名 ="王华")

B.SELECT姓名,年龄,性别

FROM学生

WHERE姓名="王华"

C.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>(SELECT年龄

WHERE姓名="王华")

D.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>"王华"

(26) A.SELECT 学生.姓名,选课.课程号,选课.成绩

FROM学生

WHERE学生 学号=课程.学号

B.SELECT学生.姓名,选课.课程号,选课.成绩

FROM选课

WHERE学生.学号=课程.学号

C.SELECT学生.姓名,选课.课程号,选课.成绩

FROM学生,选课

WHERE学生.学号=课程.学号

D.SELECT学生.姓名,选课.课程号,选课.成绩

FROM学生.学号


正确答案:A,C
【解析】分句WHERE AGE>(SELECT 年龄 FROM 学生 WHERE 姓名 ="王华")限定了结果记录年龄比王华大。B、C、D项该分句均不正确。26题考查了连接操作,A、B的FROM字段错误。D项缺少连接字段。

第4题:

查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是( )。

A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)

B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)

C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)

D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)


正确答案:D
本题采用嵌套查询。其中,ALL表示所有的结果。

第5题:

给定学生S(学号,姓名,年龄,入学时间,联系方式)和选课SC(学号,课程号,成绩)关系,若要查询选修了1号课程的学生学号、姓名和成绩,则该查询与关系代数表达式 (8) 等价。

A.A

B.B

C.C

D.D


正确答案:B
本题考查数据库中的关系代数。解答本题需要对关系代数中的自然连接有一定了解。自然连接操作会自动以两个关系模式中共有属性值相等作为连接条件,对于连接结果,将自动去除重复的属性。所以在本题中,连接条件为两个表的学号相等,当连接操作完成以后,形成的结果表,有属性“学号,姓名,年龄,入学时间,联系方式,课程号,成绩”,此时要选择1号课程的学生记录,应使用条件6=“1”,其含义是表中的第6个属性值为“1”。所以本题应选B。

第6题:

学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。

A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)

B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)

C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)

D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)


正确答案:D
所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。

第7题:

设学生表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

第8题:

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。

A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)

B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)

C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)

D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)


正确答案:D
解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第9题:

检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学=选课.学号AND选课.成绩IS NULL

B.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


正确答案:C
C。【解析】INNERJOINON表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

第10题:

查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是

A.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号="101”AND成绩>=ALL(SELECT成绩FROM选课)

B.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号;选课.学号 AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")

C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学号 AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")

D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号="101" AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号 ="101")


正确答案:D
解析:本题所给出的四个选项中:
  选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
  选项C中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将杳询出错误结果,此选项错误。
  选项D符合题意,将查询出正确结果,故为正确答案。

更多相关问题