假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在90分以上(含)的学生信息,正

题目

假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在90分以上(含)的学生信息,正确的SQL命令是( )。

A.SELECT*FROM学生WHERE学号IN(SELECT学号FROM选课WHERE成绩>=90)

B.SELECT*FROM学生WHERE学号NOT IN(SELECT学号FROM选课 WHERE成绩<90)

C.SELECT*FROM学生WHERE学号!=ANY(SELECT学号FROM选课 WHERE成绩<90)

D.SELECT*FROM学生WHERE学号=ANY(SELECT学号FROM选课 WHERE成绩>=90)

参考答案和解析
正确答案:B
解析:in表示包含关系,any表示只要有一条数据满足条件,整个条件成立。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 33 )查询选修课程号为 “ 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" )


正确答案:B

第2题:

( 31 )计算刘明同学选修的所有课程的平均成绩,正确的 SQL 语句是

A) SELECT AVG( 成绩 ) FROM 选课 WHERE 姓名 =" 刘明 "

B) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 姓名 =" 刘明 "

C) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 学生 . 姓名 =" 刘明 "

D) SELECT AVG( 成绩 ) FROM 学生 , 选课 WHERE 学生 . 学号 = 选课 . 学号 AND 姓名 =" 刘明 "


正确答案:D

第3题:

计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是

A.SELECTAVG(成绩)FROM选课WHERE姓名="刘明"

B.SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明"

C.SELECTAVG(成绩)FROM学生,选课WHERE学生.姓名="刘明"

D.SELECTAVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名="刘明"


正确答案:D
解析:此题中各个选项解释如下:
  选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。
  选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表联接起来。 
  选项D正确。

第4题:

检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

第5题:

假设所有的选课成绩都已确定,显示“101”号课程成绩中最高的10%记录信息,正确的SQL命令是( )。

A.SELECT*TOP 10 FROM选课ORDER BY成绩 WHERE课程号=“101”

B.SELECT*PERCENT 1O FROM选课ORDER BY成绩DESC WHERE课程号=“101”

C.SELECT*TOP 10 PERCENT FROM选课ORDER BY成绩 WHERE课程号=“101”

D.SELECT*TOP 10 PERCENT FROM选课ORDER BY成绩DESC WHERE课程号=“101”


正确答案:D
解析:order by表示排序,percent表示百分之,top表示头几条。

第6题:

检索还未确定成绩的学生选课信息,正确的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表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

第7题:

若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生姓名,应使用的SELECT语句是______。

A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".AND.成绩>=80

B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".OR.成绩>=80

C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".OR.成绩>=80

D.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".AND.成绩>=80


正确答案:D

第8题:

计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 ______。

A.SELECT AVG(成绩)FROM 选课 WHERE 姓名=“刘明”

B.SELECT AVG(成绩)FROM 学生,选课 WHERE 姓名=“刘明”

C.SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.姓名=“刘明”

D.SELECT AVG(成绩)FROM 学生,选课 WHERE 学生.学号=选课.学号 AND姓名=“刘明”


正确答案:D
解析:此小题中各个选项解释如下:选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表连接起来。选项D正确。

第9题:

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

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

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