给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是( );查询所有课程的选修情况的操作是(请作答此空)。

题目
给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是( );查询所有课程的选修情况的操作是(请作答此空)。

A.选课JOIN课程
B.选课LEFT JOIN课程
C.选课RIGHT JOIN课程
D.选课FULL JOIN课程
参考答案和解析
答案:C
解析:
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

查询选修课程号为“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”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第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题:

设有学生选修课程的数据库包含如下

学生表(学号,姓名,年龄,性别,所在系)

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

课程表(课程号,课程名称,教师姓名)

请用SQL语言查询下列问题:

1.李明老师所教的课程号、课程名称。

2.年龄大于23岁的女学生的学号和姓名。

3.所有成绩都在80分以上的学生姓名及所在系。

4.至少选修两门以上课程的学生姓名、性别。

5.选修了李明老师所讲课程的学生人数。

6.“操作系统”课程得最高分的学生姓名、性别、所在系。

7.所有课程成绩都在60分以上的学生姓名及所在系。


参考答案:(1)李明老师所教的课程号、课程名称。
select 课程号, 课程名称
from 课程表 where 教师姓名='李明'
(2)年龄大于23岁的女学生的学号和姓名。
select 学号, 姓名 from 学生表
where (性别='女') and (年龄>20)
(3)所有成绩都在80分以上的学生姓名及所在系。
select 姓名, 所在系 from 学生表 where 学号 in
(select distinct 学号from 选课表 where 成绩 >= 80)
(4)至少选修两门以上课程的学生姓名、性别。
Select 姓名, 性别 from 学生表
where 学号 in
(SELECT 学号 FROM 选课表
group by 学号 having count(学号)>1)
(5)选修了李明老师所讲课程的学生人数。
select count(学号)
from 选课表, 课程表
where (选课表.课程号=课程表.课程号) and (教师姓名='李明')
(6)“操作系统”课程得最高分的学生姓名、性别、所在系。
select top 1 学生表.学号, 姓名, 所在系
from 学生表, 选课表, 课程表
where(选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号)
and (课程名称 = '操作系统')
order by 成绩 desc
(7)所有课程成绩都在60分以上的学生姓名及所在系。
select 姓名, 所在系 from 学生表where 学号 in
(select distinct 学号from 选课表where 成绩 >=60)

第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题:

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

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

要检索所有比"王华"年龄大的学生姓名、年龄和性别,正确的语句是 (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项缺少连接字段。

第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符合题意,将查询出正确结果,故为正确答案。

更多相关问题