数据库系统上第7讲模拟练习题解析_第1页
数据库系统上第7讲模拟练习题解析_第2页
数据库系统上第7讲模拟练习题解析_第3页
数据库系统上第7讲模拟练习题解析_第4页
数据库系统上第7讲模拟练习题解析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7讲模拟练习题解析701、已知S(S#,SN,AGE,SEX),S#学号,SN姓名。若要检索所有比王华年龄大的学生姓名、年龄和性别,正确的SELECT语句是。(正确答案)解析:此选项正确(错误答案)解析:此选项检索的是王华的信息,不是比王华年龄大的学生信息(错误答案)解析:此选项子查询中缺少“FROMS”(错误答案)解析:此选项语法错误702、在SQL语言中,子查询是。(正确答案)解析:出现在Where子句中的Select语句被称为子查询(subquery),所以子查询是嵌入到另一个查询语句之中的查询语句。(错误答案)解析:出现在Where子句中的Select语句被称为子查询(subquer

2、y),所以子查询是嵌入到另一个查询语句之中的查询语句。(错误答案)解析:出现在Where子句中的Select语句被称为子查询(subquery),所以子查询是嵌入到另一个查询语句之中的查询语句。(错误答案)解析:出现在Where子句中的Select语句被称为子查询(subquery),所以子查询是嵌入到另一个查询语句之中的查询语句。703、设关系Teacher的结构为:Teacher(T#char(3),Tnamechar(10),D#char(2),Salaryfloat(2),其中T#教师编号,Tname教师姓名,D#系号,Salary工资。Dept(D#char(2),Dnamechar

3、(10),Deanchar(10),Dname系名,Dean系主任。若要将所有计算机系的教师工资上调10%,则可用。(正确答案)解析:此选项正确(错误答案)解析:不符合updatetable的语法,丢了关系表Teacher(错误答案)解析:不符合updatetable的语法,并且计算机是char型的,应该加引号(错误答案)解析:不符合updatetable的语法,多了TABLE704、已知Titles(Title_Idchar(4),Titlechar(20),Pub_idchar(4),priceinteger),其中Title_Id图书编号,Title图书名,Pub_id出版商编号,pri

4、ce价格。列出Titles表中其价格高于出版商ID为0736的出版商出版的书的最大价格的书的标题和ID,合适的查询语句是。(正确答案)解析:选项正确(错误答案)解析:ANDPub_id=0736查询语句错误(错误答案)解析:ANY出错,查询出的不事高于出版商ID为0736的出版商出版的书的最大价格的书的标题和ID(错误答案)解析:ANY,ANDPub_id=0736查询语句错误705、陈述A:SubQuery1UNIONSubQuery2语句,其中SubQuery1和SubQuery2查询中相应的列必须以同一顺序出现。陈述B:GROUPBY和HAVING子句不能在子查询中使用,这些子句只能用在

5、最后一个查询结束时来总结和排序最后结果集。关于陈述A和B,下列说法正确的是。A.(正确答案)解析:陈述A是正确的,陈述B是不正确的。GROUPBY和HAVING子句可以在子查询中使用,例如:求有两门以上不及格课程同学的学号及其平均成绩SelectS#,Avg(Score)FromSCWhereS#in(SelectS#FromSCWhereScore2)GroupbyS#;所以陈述B错误(错误答案)解析:陈述A正确,陈述B“GROUPBY和HAVING子句可以在子查询中使用,例如:求有两门以上不及格课程同学的学号及其平均成绩SelectS#,Avg(Score)FromSCWhereS#in(

6、SelectS#FromSCWhereScore2)GroupbyS#;所以陈述B错误(错误答案)解析:陈述A是正确的,陈述B是不正确的。GROUPBY和HAVING子句可以在子查询中使用,例如:求有两门以上不及格课程同学的学号及其平均成绩SelectS#,Avg(Score)FromSCWhereS#in(SelectS#FromSCWhereScore2)GroupbyS#;所以陈述B错误(错误答案)解析:陈述A是正确的,陈述B是不正确的。GROUPBY和HAVING子句可以在子查询中使用,例如:求有两门以上不及格课程同学的学号及其平均成绩SelectS#,Avg(Score)FromSC

7、WhereS#in(SelectS#FromSCWhereScore2)GroupbyS#;所以陈述B错误706、下面有关HAVING子句,说法不正确的是(正确答案)解析:此说法不正确,使用HAVING子句的同时是可以使用WHERE子句的(错误答案)解析:此说法正确,HAVING子句必须与GROUPBY子句同时使用(错误答案)解析:此说法正确,使用HAVING子句的同时是可以使用WHERE子句的(错误答案)解析:此说法是正确的,使用HAVING子句的作用是过滤掉不满足条件的分707、在SQL中,与NOTIN等价的操作符是。(正确答案)解析:与notin等价的是表达式all(子查询)(错误答案)

8、解析:与notin等价的是表达式all(子查询)(错误答案)解析:与notin等价的是表达式=60);关于其查询结果,下列说法正确的是。A.(正确答案)解析:“SELECTS#FROMSCWHEREStudent.S#=SC.S#andC#=C01andScore=60”表示C01号课程成绩及格的学生的学号,而NOTIN表示不在其中,所以整个语句表示剔出掉C01号课程及格学生的其他学生的姓名(错误答案)解析:“SELECTS#FROMSCWHEREStudent.S#=SC.S#andC#=C01andScore=60”表示C01号课程成绩及格的学生的学号,而NOTIN表示不在其中,所以整个语

9、句表示剔出掉C01号课程及格学生的其他学生的姓名(错误答案)解析:“SELECTS#FROMSCWHEREStudent.S#=SC.S#andC#=C01andScore=60”表示C01号课程成绩及格的学生的学号,而NOTIN表示不在其中,所以整个语句表示剔出掉C01号课程及格学生的其他学生的姓名题目中查询结果还包含了没有学习C01号课程的所有学生。(错误答案)解析:不符合题意。“SELECTS#FROMSCWHEREStudent.S#=SC.S#andC#=C01andScore=60”表示C01号课程成绩及格的学生的学号,而NOTIN表示不在其中,所以整个语句表示剔出掉C01号课程及

10、格学生的其他学生的姓名。718、已知如下关系:学生Student(S#Sname),课程Course(C#Cname,T#),选课SC(S#C#,Score),教师T(T#,Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECTSnameFROMStudentWHERES#IN(SELECTS#FROMSCWHEREStudent.S#=SC.S#andC#=C01andScore=60);关于其查询结果,下列说法正确的是。(正确答案)解析:此选项正确。检索结果是“C01号课程及格的所

11、有学生的姓名”。(错误答案)解析:此选项不正确。检索结果是“C01号课程及格的所有学生的姓名”。(错误答案)解析:此选项不正确。检索结果是“C01号课程及格的所有学生的姓名”。剔出掉不及格的学生包含了未学过“C01”课程的同学。(错误答案)解析:此选项不正确。检索结果是“C01号课程及格的所有学生的姓名”。719、已知如下关系:学生Student(S#,Sname),课程Course(C#,Cname,T#),选课SC(S#,C#,Score),教师T(T#,Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名

12、。阅读SQL语句SELECTSnameFROMStudentWHERES#NOTIN(SELECTS#FROMSC,CourseWHERET#=03andSC.C#=C.C#);关于其查询结果,下列说法正确的是。(正确答案)解析:此选项说法正确。SELECTS#FROMSC,CourseWHERET#=03andSC.C#=C.C#),表示学过03号教师讲授的课程的学生的学号,NOTIN表示不在其中,所以整个语句表示没学过03号教师讲授过的任一门课的学生的姓名(错误答案)解析:此选项说法不正确。是没学过而不是学过。(错误答案)解析:此选项说法不正确。是没学过而不是学过。(错误答案)解析:此选项

13、说法不正确。是全都没学过而不是没学全。720、已知如下关系:学生Student(S#,Sname),课程Course(C#,Cname,T#),选课SC(S#,C#,Score),教师T(T#,Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECTS#FROMSCWHEREScore2;关于其查询结果,下列说法正确的是。A.(正确答案)解析:此选项正确。GROUPBY是分组查询,Score2,表示两人以上课程成绩小于60,所以整个语句表示有2人以上不及格课程的同学的学号(错误答案)解析

14、:此选项不正确。是2人,而不是2门。GROUPBY是分组查询,Scorev60GROUPBYC#HAVINGCount(*)2,表示两人以上课程成绩小于60,所以整个语句表示有2人以上不及格课程的同学的学号(错误答案)解析:此选项不正确。不是及格,而是不及格。不是2门,而是2人。(错误答案)解析:此选项不正确。不是及格,而是不及格。721、已知如下关系:学生Student(S#Sname),课程Course(C#Cname,T#),选课SC(S#C#,Score),教师T(T#,Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩

15、,Tname为教师名。阅读SQL语句SELECTS#FROMSCWHEREScore2GROUPBYS#;关于其查询结果,下列说法正确的是。(正确答案)解析:本题中的SQL语句的书写是不正确的,Count(*)2不应该直接写在Where语句中。若要表示“有2门以上不及格课程的同学的学号”正确的SQL语句是:SELECTS#FROMSCWHEREScore2。(错误答案)解析:本题中的SQL语句的书写是不正确的,Count(*)2不应该直接写在Where语句中。若要表示“有2门以上不及格课程的同学的学号”正确的SQL语句是:SELECTS#FROMSCWHEREScore2。(错误答案)解析:本

16、题中的SQL语句的书写是不正确的,Count(*)2不应该直接写在Where语句中。若要表示“有2门以上不及格课程的同学的学号”正确的SQL语句是:SELECTS#FROMSCWHEREScore2。(错误答案)解析:本题中的SQL语句的书写是不正确的,Count(*)2不应该直接写在Where语句中。若要表示“有2门以上不及格课程的同学的学号”正确的SQL语句是:SELECTS#FROMSCWHEREScore2。722、已知如下关系:学生Student(S#,Sname),课程Course(C#,Cname,T#),选课SC(S#,C#,Score),教师T(T#,Tname)。其中S#为

17、学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SelectSnameFromStudentWhereS#NOTIN(SelectS#FromSC,CourseC,TeacherTWhereT.T=李明andSC.C#=C.C#andT.T#=C.T#);关于其查询结果,下列说法正确的是。(正确答案)解析:SelectS#FromSC,CourseC,TeacherTWhereT.T=李明andSC.C#=C.C#andT.T#=C.T#的查询结果是学过李明教师的课程的所有学生的学号,NOTIN表示不在其中,所以整

18、个SQL语句的查询结果是“没学过李明老师讲授任一课程的学生姓名”(错误答案)解析:此选项不正确,是没有学过,而不是学全。(错误答案)解析:此选项不正确,是没有学过,而不是学过。(错误答案)解析:此选项不正确,是没有学过,而不是没学全。723、已知如下关系:学生Student(S#Sname),课程Course(C#Cname,T#),选课SC(S#C#,Score),教师T(T#,Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SelectS#FromSCSC1WhereSC1.C#=C01

19、ANDS#IN(SelectS#FromSCSC2WhereSC2.C#=C02ANDSC1.S#=SC2.S#ANDSC1.ScoreSC2.Score);关于其查询结果,下列说法正确的是。(正确答案)解析:本题中将SC表取了两个别名,分别是SCI和SC2,把它当做两张表来操作,首先表SC1的课程号是C01然后在子查询中,表SC2的课程号是C02并且SC1的分数大于SC2的分数,所以本题的查询结果是“C01课程比C02课程成绩高的所有学生的学号”(错误答案)解析:此选项不正确。是C01课程比C02课程,而不是C01同学比C02同学。(错误答案)解析:此选项不正确。是C01课程比C02课程,而

20、不是所有课程比C02课程。(错误答案)解析:此选项不正确。是C01课程比C02课程,而不是C02同学比C01课程。724、现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金),课程(课程号,课程名,学分),选课(学号,课程号,分数),用SQL语言实现题目:检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业,正确的SQL语句是。(正确答案)解析:三个表:学生,课程,选课,最终要从三个表中显示学号,姓名和专业,所以SELECT学号,姓名,专业;题目要求检索没有任何一门课程成绩在80分以下的所有学生的信息,我们可以取反,先找出只要有一门课分数在80以下的学生,即为SEL

21、ECT学号FROM选课WHERE分数80,则没有任何一门成绩在80以下的学生就不在这个集合中,所以此选项正确(错误答案)解析:此选项不正确,外层查询多了一个选课而且没有连接条件。(错误答案)解析:此选项不正确,外层查询多了一个选课而且没有连接条件。而且不是IN,应是NOTIN。(错误答案)解析:此选项不正确,此查询的结果是“找出分数80的那些学生的信息”,不符合题意。725、现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金),课程(课程号,课程名,学分),选课(学号,课程号,分数),用SQL语言实现题目:对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元,

22、正确的SQL语句是。(正确答案)解析:题目中要更新学生表中的奖学金信息,所以是Update学生Set奖学金=1000;查询条件是成绩得过满分且没有获得奖学金的,先选取得过100分的学生学号:SELECT学号FROM选课WHERE分数=100,再和奖学金=0条件同时成立,用AND链接即可,所以此选项正确。(错误答案)解析:此选项不正确,小于等于比较运算符不正确。(错误答案)解析:此选项不正确,奖学金是数值型属性,1000不应加引号。(错误答案)解析:此选项不正确,此查询是给没有满分的学生设奖学金1000元,与题意不符。726、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。

23、课程学号年级专业S9023?陈莉艘软件9W7S3李玉專5(|应用W382950软件91S3Z?刘玉91应用学生澡号课名总学时学分1001程序设计王一唯9041002號騎刘锋S042001瞬库徐伟6Q32002AX雒张再生603课号端专业1001隸件10011002歎件求既学过“1001”号课,又学过“2A.(正确答案)解析:応题目中要列生的学号,可以先选出学过2002选课学弓射必7射悔78M257谍号10011002200285002”号课的所有学生的学号。正确的SQL语句是出学过“1002”号课程同时学过“课程的学号蚁ELEctdisTINct2002”号课程的所有学学号2FROWHERE课

24、号=(错误答案)解析:此选项不正确,(错误答案)解析:此选项不正确,2002再和课号=1001的条件用AND(连接此查询结果齒空。1001子查询缺少SELECT子句。M选课所以此选项正确。D.(错误答案)解析:此选项不正确,缺少关键的与子查询关系的连接词IN。727、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。学号年级专业890137的软件902783李玉刚50应用903829川软件918327刘玉91陋用学生课程必修谍课号总学时学分1001掰设计王一唯8041002刘锋804200132002Al智能张再生603课号100110Q110Q2瘀修专业选谍学号SM237

25、课号100110022002787S出各门课的平均成绩、曲答案;解析:熾avg!最低成绩和选课人数。丨中要列出各门课示平均成绩,MAX最高按课号排序用Groupby,所以此选项正确。B.(错误答案)解析:此选项不正确,ordErbY是排序子句,1不是分组子句L.(正确答只涉及选课表,用最高成绩i正确的SQL语句是。的平均成绩、最高成绩、最低成绩和选课人数,最低成绩,coUNt计1002S3903829算人数,C.(错误答案)解析:此选项不正确,没有分组子句,WHERE子句是条件子句。D.(错误答案)解析:此选项不正确,没有分组子句,HAVING子句是分组过滤条件子句,它需要在分组子句存在的情况

26、下才能应用。728、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。学生課程学号姓名年级专业850237902?83李玉HM9091S327刘玉91课号聡开鞠则总学时学分1001程序设计王一唯so41002汇编语言刘辱SQ42001数据库32002人工醴张再生603谦号1Q位软件应用觀学号射023丁S90237列出最少选修了三门课程的学生姓名。正确的如”从选课表中列出,谍号1001100220021001懿787&72曰.是产田所选课程至少三门学生的查询具有该学号的学生的姓名,用学号分组计算所选课程门(正确答案)解析:学号,然后在学生表中Elects2学号选课GROUPB

27、Y(错误答案)解析:(错误答案)解析:(错误答案)解析数为h上此选项正确。骷此选项不正确,缺少分组过滤条件子句的保留字此选项不正确,缺少与子查询关系的保留字IN。此选项不正确,ORDERBY是排序子句,而不是分组条件子句。学号HAVINGCOUjnt(*)=3,综havINg。FROM729、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。学主学号姓営性别出生日期身高1309203歐阳就女驱曲l.ffl1208123王义平.1紳临1.?11104421周远行1.S31309119李维女.1995-141.681209120王犬力丄卿沁加1.7J课程号学时埶学分开课学期CS-110

28、蓟3秋CS-201SO4春CS-221402秋EE-1221055秋EE-201-52春学号课程号施绩1309203CS-11O82.51309203CS-2O1801309203EE-201巧1203123EE-122911203123EE-201S31104421EE-2011001104421CS-11O911309119CS-11O721309119CS-201651209120CS-221查询秋季学期有一门以上课程获90分以上成绩的学生名。正确的SQL语句是。(正确答案)解析:题目要求查询秋季学期有一门以上课程获90分以上成绩的学生名,涉及到学生表,课程表和选课表,是多表联合查询;先

29、选择出开设学期为秋季的所有课程,为SELECT课程号FROM课程WHERE开课学期=秋,只有课程号在选出的秋季学期课程号才行。再和成绩=90条件做AND操作,选出满足这两个条件的学号,即是选过秋季学期的课程及获得90以上学生的学号,然后再在学生表中选出该学号的学生姓名即可,所以此选项正确。(错误答案)解析:此选项不正确,此选项FROM子句的各个表应用逗号区隔。(错误答案)解析:此选项不正确,此选项子查询缺少SELECT子句。(错误答案)解析:此选项不正确,此选项子查询缺少SELECT子句。730、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。学生姓至性别出生日鄭身高女1.621

30、208E-三义平卑1.711104421周远行卑.1删丄过1.S3李錐女1.6S1209120,n0,则下列说法正确的是。(正确答案)解析:Except是集合操作,出现0次。(错误答案)解析:此选项不正确。Union是集合操作,需去掉重复的元组。(错误答案)解析:此选项不正确。ExceptALL是包的操作,但应出现max(0,m-n)。(错误答案)解析:此选项不正确。Intersect是集合运算,只能出现一次。732、假设一个元组在子查询1中出现m次,在子查询2中出现n次,其中m0,n0,则下列说法正确的是。(正确答案)解析:此选项正确。UnionALL是包的操作,应出现m+n次。(错误答案)

31、解析:此选项不正确。Union是集合的操作,应去掉重复的元组。(错误答案)解析:此选项不正确。UnionALL是包的操作,不应去掉重复的元组。(错误答案)解析:此选项不正确。Union是集合的操作,只能出现一次。733、假设一个元组在子查询1中出现m次,在子查询2中出现n次,其中m0,n0,则下列说法正确的是。(正确答案)解析:此选项正确。(错误答案)解析:此选项不正确。Union是集合操作,只能出先一次。(错误答案)解析:此选项不正确。ExceptALL是包的操作,可出现max0,m-n次。(错误答案)解析:此选项不正确。UnionALL是包操作,出现m+n次。734、在下列关于视图的叙述中

32、,正确的是。(正确答案)解析:此选项说法是正确的。(错误答案)解析:此选项说法是不正确的,当基本表被删除后,基于此表的所有视图也将被删除。(错误答案)解析:此选项说法是不正确的,视图是可以被删除的。(错误答案)解析:此选项说法是不正确的,视图的修改不一定影响导出该视图的基本表。735、SQL语言中的视图是一种。(正确答案)解析:此说法是正确的。(错误答案)解析:此说法是不正确的,视图是子模式及子模式到模式的映像(错误答案)解析:此说法是不正确的,视图是子模式及子模式到模式的映像(错误答案)解析:此说法是不正确的,视图是子模式及子模式到模式的映像。736、如下几个表所示学生、课程和选课关系,用S

33、QL语言实现下列操作。莹生课琨CS-2C180EE-2C1CS-110CS-2C135911009?EE-201CS-110EE-201EM22课逞号CS-110学号13W2O313092031309203120812j1208123110442:110442:13O91B13O91P学号性别出生日期身島13(-921)3娜E林女1.62L208123王义平男丄期31.7111(4421周远行男1.83L3091L9李维女.1袈風:41.681209120王大力男1.75课程壬学时数学甘幵课学期CS-110秋CS-20104春CS-22:秋EE-1221W秋EE-201春名及(正确答案)解析:

34、此选项正确。(错误答案)解析:此选项不正确,缺成绩不是成绩为空格。(错误答案)解析:此选项不正确,缺少连接条件。(错误答案)解析:此选项不正确,缺少连接条件而且缺成绩不是为空格737、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。学主学号性别出生曰期身高:3J9203女.6213K123王义平:J1:1)4421周云行:.S31309119李维女观也昭:.(81209120王大丈1朝UQ课逞号学谕字分F课学耶CS-110603CS-201SO4看CS-221柚2EE-12:106EE-2014i2看学是课程号岳塔1j0920jCS-11082.513O92D2CS-201SO1

35、3O92D2EE-201?50812-EE-122如OS12-EE-201S31104421EE-2011W1104421CS-1ID811剜1叫CS-1ID721209119CS-2C165CS-221统计学生的平均身高。正确的SQL语句是。(正确答案)解析:此选项正确。(错误答案)解析:此选项不正确,应该是AVG,而不是COUNT。(错误答案)解析:此选项不正确,多了身高这个属性。(错误答案)解析:此选项不正确,AVG函数不是AVER函数。738、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。学生学号姓名性别出生曰期身高13O92C3歐阳林女1-62120S123王文平胃1.711104421周远行胃.19937.-11.S31309119李维女.1观乩対L-6Sliogiso王犬力胃.翊J渤1.7j课程号学时数学另幵课学期CS-:11O603秋CS-201SO4春CS-221402秋EE-1221065秋EE-201452春学号课程号成猜130920.3CS-L10S2.5130920.3CS-201so1309

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论