设有学生数据库XSH.DBF(包括学号、姓名等字段),课程数据库KCH.DBF(包括课程号、课程名等字段)和选

题目

设有学生数据库XSH.DBF(包括学号、姓名等字段),课程数据库KCH.DBF(包括课程号、课程名等字段)和选修课数据库XK.DBF(包括学号、课程号,成绩等字段)和下述命令序列: SELE O USE XSH ALIAS KX INDEX ON学号TO XH1 SELE O USE KCH ALIAS KK INDEX ON课程号TO XH2 SELE O USE XK SET RELATION TO学号INTO KX SET RELATION TO课程号INTO KK ADDITIVE 执行上述命令序列后,以下查询命令一定正确的是( )。

A.LIST学号,姓名,课程号,成绩

B.LIST学号,A-)姓名,B->课程号,成绩

C.LIST学号,KX->姓名,KK-)课程号,成绩

D.LIST学号,XSH->姓名,KCM-5课程名,成绩

参考答案和解析
正确答案:C
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

不能正确检索出“选修'数据库原理与应用'课程的学生学号和姓名”的关系代数表达式是()。

A.π学号,姓名(σ课程名='数据库原理与应用'(课程∞选课∞学生))

B.π学号,姓名(σ课程名='数据库原理与应用'(课程∞选课))

C.π学号,姓名((π学号 ((σ课程名='数据库原理与应用'(课程))∞选课))∞学生)

D.π学号,姓名(σ课程名='数据库原理与应用'(课程∞学生))


BD

第2题:

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

S(SNO,SNAME,SEX)

C(CNO,CNAME)

SC(SNO, CNO,SCORE)

其中S表示学生表,各字段依次为学号、姓名、性别;C表示课程表,各字段依次为课程号、课程名;SC表示成绩表,各字段依次为学号、课程号和分数。

使用SQL语句,向学生表增加所处学院SDEP字段,长度为30个字符。

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

使用SQL语句,将课程号为“12”、课程名为“数据库”的一条记录插入C表。

使用SQL语句,将课程号为“12”的课程名修改为“高等数学”。

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


问题 1 答案解析:
ALTERTABLESADDSDEPChar(30)


问题 2 答案解析:
SELECTS.SNAME,SC.SCOREFROMS,C,SCWhereS.SNO=SC.SNOANDC.CNO=SC.CNOANDWHEREC.CNAME=’计算机网络’ORDERBYSC.SCOREDESC


问题 3 答案解析:
INSERTINTOC(CNO,CNAME)values(‘12’,’数据库’)


问题 4 答案解析:
UPDATECSETCNAME=‘’高等数学WhereCNO=‘12’

第3题:

根据题意要求,完成下列查询 设有如下学生课程数据库,它包括学生关系、课程关系和选课关系,其关系模式为: 学生(学号,姓名,年龄,性别,民族,专业,年级); 课程(课程号,课程名,教师,总学分); 选课(学号,课程号,成绩)。 1、查询学生表中全部信息。


正确答案:select * from 学生 (1分)

第4题:

设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。

A.SELECT 姓名 FROM STUD; WHERE学号SELECT学号FROM SC WHERE 课程号IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”)

B.SELECT姓名FROM STUD; WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION; (SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))

C.SELECT 姓名 FROM STUD; WHERESELECT课程号FROMKCWHERE课程名=“数据结构”

D.SELECT姓名FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))


正确答案:D
解析:要实现本题的查询要求,需使用嵌套查询。嵌套查询又称为子查询,它可以把一个SELECT-FROM-WHERE查询块嵌入在另一个查询块中。嵌套查询是由内向外进行的。在嵌套查询中,常用谓词IN引导子查询。选项A、B、C的语句不符合嵌套查询的语法结构,只有选项D正确。

第5题:

设有以下3个表: 学生表 STUD (学号,姓名,性别,年龄,专业) 课程表 KC (课程号,课程名,先修课号,学分) 学生选课表 SC (学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生姓名的SELECT语句是______。

A.SELECT 姓名 FROM STUD; WHERE 学号 SELECT 学号 FROM SC WHERE课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构")

B.SELECT 姓名 FROM STUD; WHERE 学号 in (SELECT 学号 FROM SC WHERE 课程号 UNION; (SELECT 课程号 FROM KC WHERE课程名="数据结构"))

C.SELECT 姓名 FROM STUD; WHERE SELECT 课程号 FROM KC WHERE课程名="数据结构"

D.SELECT 姓名 FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构"))


正确答案:D

第6题:

基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。

A. SELECT学号FROM SC WHERE课程号='2001'AND学号IN(SELECT学号FROM SC WHERE课程号='2005’)

B. SELECT学号FROM SC WHERE课程号='2001'AND学号=(SELECT学号FROM SC WHERE课程号='2005’)

C. SELECT学号FROM SC WHERE课程号='2001'AND课程号='2005'

D. SELECT学号FROM SC WHERE课程号='2001'OR'2005'


正确答案:A
嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。

第7题:

设有学生表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是指定两表连接的关键字。

第8题:

设有如图所示的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。

第9题:

设有学生表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
解析:此题是一个联接查询,联接查询是一种基于多个关系的查询。在SQL查询语句中建立两表间的连接可使用JOIN关键字连接其左右两个表名>所指的表,JOIN为普通连接,在Visual FoxPro中称为内部连接,即只有满足连接条件的记录才出现在查询结果中。用ON子句指定连接条件:也可以一次性在WHERE子句中指定连接条件和筛选条件。格式如下:
  SELECT 目标列表达式>
  FROM[[表名1>|视图名1>][[INNE]
  JOIN 表名2>|视图名1>]...ON连接条件>]...
  FROM[[数据库名>]owner>{表名>|视图名>}
  [,[[数据库名>.]owner>{表名>|视图名>}...
  [WHERE条件表达式>]
  [GROUP BY列名1>
  [HAVING内部函数表达式>]]
  [ORDER BY列名2> {ASC/DESC}]
所以A、B选项错误,如果先连接学生表S和学生选课表SC,会造成结果中有不符合要求的多余记录,所以C选项错误。