设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课

题目

设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课程号,成绩)查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

A.SELECTS.姓名,SC.课程号,SC.成绩FROMSWHERES.学号=SC.学号

B.SELECTS.姓名,SC.课程号,SC.成绩FROMSCWHERES.学号=SC.成绩

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

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

参考答案和解析
正确答案:C
解析:根据题目要求可以分析:本查询涉及到学生表S和学生选课表SC,同时需要满足查询条件“S.学号=SC.学号”,所以只有使用选项C的语句,才能实现查询学生姓名及其所选修课程的课程号和成绩。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 10 ) 设有表示学生选课的三张表 , 学生 S( 学号 , 姓名 , 性别 , 年龄 , 身份证号 ), 课程 C( 课号 , 课名 ), 选课 SC( 学号,课号,成绩 ), 则表 SC 的关键字(键或码)为

A) 课号,成绩

B) 学号,成绩

C) 学号,课号

D) 学号,姓名,成绩


正确答案:C

第2题:

使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是______。

A.SELECT学号,姓名FROM S WHERE NOT EXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩<85)

B.SELECT学号,姓名FROM S WHERE NO TEXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)

C.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND成绩>=85

D.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND ALL成绩>=85


正确答案:A
解析:本题建立的是SELECT—SQL命令的嵌套查询语句s在这个命令中要用到两个SELECT—FROM— WHERE查询块,即内层查询块和外层查询块,通过查询块检索选修的每门课程的成绩都高于或等于85分的记录,即选修的每门课程的成绩中都不存在85分以下的记录。

第3题:

设有表示学生选课的三张表 , 学生 S( 学号 , 姓名 , 性别 , 年龄 , 身份证号 ), 课程 C( 课号 ,名 ), 选 课SC( 学号,课号,成绩 ), 则表 SC 的关键字 ( 键或码 ) 为

A) 课号,成绩 、

B) 学号,成绩

C) 学号,课号

D) 学号,姓名,成绩


正确答案:C

第4题:

已知三个数据库表:学生表S、课程表C和学生选课表SC,结构如下:S(S,SN,SEX,AGE,DEPT)C(C,CN)SC(S,C,GRADE)其中S为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C为课程号,CN为课程名,GRADE为成绩请写出完成以下任务需要的SQL语句:检索学生姓名及其所修课程的课程号和成绩。


答:SELECT S.SN, SC.C#,SC.GRADE
FROM S,SC
WHERE S.S#=SC.S#

第5题:

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

第6题:

设有表示学生选课的3张表,“学生”表S(学号,姓名,性别,年龄,身份证号),“课程”表C(课号,课名),“选课”表SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。

A.课号,成绩

B.学号,成绩

C.学号,课号

D.学号,姓名,成绩


正确答案:C
解析: “选课表”SC是“学生表”S和“课程表”C的映射表,主键是两个表主键的组合。

第7题:

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

第8题:

第(34)~(35)题使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系)

课程表:C(课程号,课程名,学时)

选课成绩表:SC(学号,课程号,成绩)

在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

第34题:用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )。

A.SELECT 学号,姓名 FROM S WHERE NOT EXISTS;

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩<85)

B.SELECT 学号,姓名 FROM S WHERE NOT EXISTS;

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩>=85)

C.SELECT 学号,姓名 FROM S,SC;

WHERE S.学号=SC.学号 AND 成绩>=85

D.SELECT 学号,姓名 FROM S,SC;

WHERE S.学号=SC.学号 AND ALL 成绩>=85


正确答案:A

第9题:

设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一致性,表S与SC之间应满足()完整性约束。


参考答案:外键

第10题:

已知三个数据库表:学生表S、课程表C和学生选课表SC,结构如下:S(S,SN,SEX,AGE,DEPT)C(C,CN)SC(S,C,GRADE)其中S为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C为课程号,CN为课程名,GRADE为成绩请写出完成以下任务需要的SQL语句:检索所有比'王华'年龄大的学生姓名、年龄和性别。


答:SELECT SN,AGE,SEX
FROM S
WHERE AGE>(SELECT AGE
FROM S
WHERE SN='王华')

更多相关问题