第{TSE}题使用如下3个数据库表:学生表:S(学号,姓名,性别,出生日期,院系)课程表:C(课程号,课程名,学时)选课成绩表:SC(学号,课程号,成绩)在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,

题目

第{TSE}题使用如下3个数据库表:

学生表:S(学号,姓名,性别,出生日期,院系)

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

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

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

{TS}用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )。

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

第1题:

第 29~30 题使用如下3个数据库表:

学生表:S(学号,姓名,性别,出生日期,院系)

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

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

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

第 29 题 用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
本题属于多表查询,使用联接查询或嵌套查询,选项C)和选项D)使用联接查询,使用时学号字段前要表明所属的表,写法都不完整;选项A)和选项B)中的EXISTS
属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。选项A)中的子查询查询的是“SC”表中“学号”等于…S表中“学号”并且成绩小于85的数据,然后在外层查询中检索…S表中的“学号”是否存在于子查询的查询结果中,将不存在的“学号”显示其“学号”和“姓名”的信息。 

第2题:

学生:S(学号,姓名,性别,出生日期,院系)

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

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

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


正确答案:A
本题要用内、外层互相嵌套的方式进行查询。内查询NOTEXISTS(SELECT*FROMSCWHERESC.学号=S.学号AND成绩85)表示的含义是选课成绩表SC中不存在成绩小于85的记录,反过来说,就是成绩都高于或等于85分的记录。外查询SELECT学号.姓名FROMS表示的含义是从学生表S中查询学号、姓名,所以选项A正确。选项B的意思刚好与本题的要求相反;选项C、D写法错误。

第3题:

以下2题使用如下三个数据库表学生表: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 NOT EXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)

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

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


正确答案:A
解析:EXISTS是谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。选项B)和c)返回的结果都是只要有任意一门选修课程成绩大于等于85的学生学号和姓名,而本题要求返回的是所有选修课程大于等于85的学生学号和姓名,选项D)中的ALL短语无实际意义。

第4题:

根据以下资料,回答下列各题:使用如下三个数据库表: 学生表:student(学号,姓名,性别,出生日期,院系) 课程表:course(课程号,课程名,学时) 选课成绩表:score(学号,课程号,成绩) 其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。 查询“计算机系”学生的学号、姓名、学生所选课程名和成绩,正确的命令是( )。

A.SELECT s.学号,姓名,课程名,成绩 FROM student s,score sc。course c WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系="计算机系"

B.SELECT学号,姓名,课程名,成绩 FROM student s,score sc,course C WHERE s.学号=SC.学号AND sc.课程号=c.课程号AND院系="计算机系"

C.SELECT s.学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 wHERE院系="计算机系"

D.SELECT学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 WHERE院系="计算机系"


正确答案:B
B。【解析】由题所知,所查询的是计算机系所选课程的学生的学号、姓名、课程名和成绩,其中涉及三个表,所以条件为s.学号=sc.学号ANDsc.课程号=c.课程号AND院系=”计算机系”。所以答案选择B。

第5题:

根据以下资料,回答下列各题: 使用如下三个数据库表: 学生表:student(学号,姓名,性别,出生日期,院系) 课程表:course(课程号,课程名,学时) 选课成绩表:score(学号,课程号,成绩) 其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。 查询“计算机系”学生的学号、姓名、学生所选课程名和成绩,正确的命令是( )。

A.SELECT s.学号,姓名,课程名,成绩 FROM student s,score sc。course c WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系="计算机系"

B.SELECT学号,姓名,课程名,成绩 FROM student s,score sc,course C WHERE s.学号=SC.学号AND sc.课程号=c.课程号AND院系="计算机系"

C.SELECT s.学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 wHERE院系="计算机系"

D.SELECT学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 WHERE院系="计算机系"


正确答案:B
B。【解析】由题所知,所查询的是计算机系所选课程的学生的学号、姓名、课程名和成绩,其中涉及三个表,所以条件为s.学号=sc.学号ANDsc.课程号=c.课程号AND院系=”计算机系”。所以答案选择B。

第6题:

第30~31题使用如下3个数据库表:

学生表:S(学号,姓名,性别,出生日期,院系)

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

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

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

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


正确答案:A
本题属于多表查询,使用联接查询或嵌套查询,选项C)和选项D)使用联接查询,使用时学号字段前要表明所属的表,写法都不完整;选项A)和选项B)中的EXLSTS属于SQL查询谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。选项A)中的子查询查询的足“SC”表中“学号”等于“S”表中“学号”并且成绩小于85的数据,然后在外层查询中检索“S”表中的“学号”是否存在于子查询的查询结果中,将不存在的“学号”显示其“学号”和“姓名”的信息。

第7题:

使用如下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分以下的记录。

第8题:

第(34)~(35)题使用如下三个数据库表: 学生表: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成绩>=85D)SELECT学号,姓名FROM S,SC WHERE S.学号=SC.学号AND ALL成绩>=85


正确答案:A
本题属于多表查询,使用联接查询和嵌套查询,选项C、D使用联接查询,使用时每个字段前要表明所属的表,C、D写法都不完整;选项A、B使用嵌套查询,NOT EXISTS表示将括号内SELECT查询条件取反,故选项A为正确答案。

第9题:

第(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