学生(学号,姓名,性别,专业,班级)课程(课程号,课程名,学分,简介)选修(学号,课程号,成绩)第三个关系的表达式中外键是:()A、学号B、成绩C、学号、成绩D、学号+成绩

题目

学生(学号,姓名,性别,专业,班级)课程(课程号,课程名,学分,简介)选修(学号,课程号,成绩)第三个关系的表达式中外键是:()

  • A、学号
  • B、成绩
  • C、学号、成绩
  • D、学号+成绩
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知表student(学号,姓名,性别,出生日期,专业)

course(课程号,课程名,学时数,学分)

grade(学号,课程号,成绩)、

试在所有学生的课程成绩中列出课程成绩最高的学生姓名、专业、课程名和成绩.


正确答案:

SELECT姓名,专业,课程名,成绩
FROMstudent,grade,course
WHERE成绩IN(SELECT MAX(grade.成绩)
FROMgrade)ANDstudent.学号=grade.学号
ANDcourse.课程号=grade.课程号;

第2题:

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

第3题:

设有学生表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选项错误。

第4题:

学生(学号(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”。

第5题:

现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是( )。

A. SELECT学号,课程号FROM sc WHERE成绩=””

B. SELECT学号,课程号FROM sc WHERE成绩=NULL

C. SELECT学号,课程号FROM SC WHERE成绩IS NULL

D. SELECT学号,课程号FROM SC WHERE成绩


正确答案:C
利用空值查询,查询空值时要使用“Is NULL”,而=“”、=NULL都是无效的,因为空值是一个不确定的值,所以不能用“=”进行比较。

第6题:

在关系Student(学号,姓名,系名,课程号,成绩)中,查询至少选修了四门课程的学生学号、姓名及平均成绩的SElECT语句应该是:

SELECT学号,姓名,AVC((254))AS平均成绩

FROM Student

CROUP BY学号

HAVING (255)

A.成绩

B.姓名

C.系名

D.课程号


正确答案: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题:

查询选修课程号为“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题:

现有表: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.课程号0N S.学号=SC.学号


正确答案:D
用JOIN连接格式连接多个表时JOIN的顺序和ON的顺序应该是相反的,否则会影响到最终的查询结果。

第10题:

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

更多相关问题