文章目录[点我隐藏目录]

本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-10-11到2022-01-09
本篇答案更新状态:已完结

第6讲 SQL语言之复杂查询与视图 第7讲测验

1、 问题:已知S(S#,SN,AGE,SEX),S#学号,SN姓名。若要检索所有比’王华’年龄大的学生姓名、年龄和性别,正确的SELECT语句是___。
选项:
A:SELECT SN, AGE, SEX  FROM S WHERE AGE>(SELECT AGE  FROM  S WHERE SN=’王华’)
B:SELECT SN,AGE,SEX FROM S WHERE SN=’王华’
C:SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’)
D:SELECT SN,AGE,SEX FROM S WHERE AGE > 王华.AGE
答案: 【SELECT SN, AGE, SEX  FROM S WHERE AGE>(SELECT AGE  FROM  S WHERE SN=’王华’)

2、 问题:在SQL语言中,子查询是___。
选项:
A:嵌入到另一个查询语句之中的查询语句
B:返回单表中数据子集的查询语言
C:选取多表中字段子集的查询语句
D:选取单表中字段子集的查询语句
答案: 【嵌入到另一个查询语句之中的查询语句

3、 问题:设关系Teacher的结构为:Teacher(T# char(3), Tname char(10), D# char(2), Salary float(2)),其中T#教师编号,Tname教师姓名,D#系号,Salary工资。Dept(D# char(2),Dname char(10),Dean char(10)),Dname系名,Dean系主任。若要将所有计算机系的教师工资上调10%,则可用___。
选项:
A:Update Teacher Set Salary = Salary * 1.1 Where  D#  in ( Select D# From Dept Where Dname=‘计算机’);
B:Update Salary = Salary * 1.1 Where D# in ( Select D# From Dept Where Dname =‘计算机’);
C:Update Salary = Salary * 1.1 Where D# in (Select D#  From Dept Where Dname = 计算机);
D:Update TABLE Teacher Set Salary = Salary * 1.1 Where D# in ( Select D# From Dept Where Dname = ‘计算机’);
答案: 【Update Teacher Set Salary = Salary * 1.1 Where  D#  in ( Select D# From Dept Where Dname=‘计算机’);

4、 问题:已知Titles(Title_Id char(4), Title char(20), Pub_id char(4), price integer),其中Title_Id图书编号,Title图书名,Pub_id出版商编号,price价格。列出Titles表中其价格高于出版商ID为0736的出版商出版的书的最大价格的书的标题和ID,合适的查询语句是___。
选项:
A:SELECT Title_Id,Title FROM Titles WHERE price>ALL(SELECT price FROM Titles WHERE Pub_id=‘0736’)
B:SELECT Title_Id,Title FROM Titles WHERE price>ALL(SELECT price FROM Titles) AND Pub_id=‘0736’
C:SELECT Title_Id,Title FROM Titles WHERE price>ANY(SELECT price FROM Titles WHERE Pub_id=‘0736’)
D:SELECT Title_Id,Title FROM Titles WHERE price>ANY(SELECT price FROM Titles) AND Pub_id=‘0736’
答案: 【SELECT Title_Id,Title FROM Titles WHERE price>ALL(SELECT price FROM Titles WHERE Pub_id=‘0736’)

5、 问题:陈述A:SubQuery1 UNION SubQuery2语句,其中SubQuery1和SubQuery2查询中相应的列必须以同一顺序出现。 陈述B:GROUP BY和HAVING子句不能在子查询中使用,这些子句只能用在最后一个查询结束时来总结和排序最后结果集。 关于陈述A和B,下列说法正确的是___。
选项:
A:陈述A正确,陈述B错误
B:都是正确的
C:都是错误的
D:陈述A错误,陈述B正确
答案: 【陈述A正确,陈述B错误

6、 问题:下面有关HAVING子句,说法不正确的是___。
选项:
A:使用HAVING子句的同时不能使用WHERE子句
B: HAVING子句必须与GROUP BY 子句同时使用,不能单独使用
C:使用HAVING子句的同时可以使用WHERE子句
D:使用HAVING子句的作用是过滤掉不满足条件的分组
答案: 【使用HAVING子句的同时不能使用WHERE子句

7、 问题:在SQL中,与"NOT IN"等价的操作符是___。
选项:
A:<> ALL
B:= SOME
C: <> SOME
D:= ALL
答案: 【<> ALL

8、 问题:以下定义的4个视图中,能够进行更新操作的是___。
选项:
A:CREATE VIEW S_MALE(学号,姓名) AS SELECT 学号,姓名 FROM student WHERE 班号=’09031′
B:CREATE VIEW S_G(学号,姓名,课程名,分数) AS SELECT S.学号,姓名,课程名,分数 FROM student S,score SC,course C WHERE S.学号=SC. 学号AND SC. 课程号 = C. 课程号
C:CREATE VIEW S_AVG(学号,平均分) AS SELECT 学号,AVG(分数) FROM scoreWHERE 分数IS NOT NULL  GROUP BY 学号
D:CREATE VIEW S_FEMALE(姓名,出生日期) AS SELECT 姓名,出生日期 FROM student  WHERE 性别=’女’
答案: 【CREATE VIEW S_MALE(学号,姓名) AS SELECT 学号,姓名 FROM student WHERE 班号=’09031′

9、 问题:已知选课关系SC(S# char(8), C# char(8), GRADE integer),S#学号,C#课程号,GRADE成绩。检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是___。
选项:
A:SELECT S#,SUM(GRADE) as Sgrade FROM  SC  WHERE GRADE>=60  GROUP BY S# HAVING COUNT()>=4  ORDER BY Sgrade DESC
B:SELECT S#,SUM(GRADE) as Sgrade FROM  SC  WHERE GRADE>=60  GROUP BY S# HAVING COUNT(
)>=4 ORDER BY Sgrade
C:SELECT S#,SUM(GRADE) as Sgrade FROM SC WHERE GRADE>=60 HAVING COUNT()>=4 GROUP BY S# ORDER BY Sgrade DESC
D:SELECT S#,SUM(GRADE) as Sgrade  FROM SC  WHERE GRADE>=60 and COUNT(
)>=4 GROUP BY S# ORDER BY Sgrade DESC
答案: 【SELECT S#,SUM(GRADE) as Sgrade FROM  SC  WHERE GRADE>=60  GROUP BY S# HAVING COUNT(*)>=4  ORDER BY Sgrade DESC

10、 问题:已知选课关系SC(S# char(8), C# char(8), GRADE integer),S#学号,C#课程号,GRADE成绩。检索选修课程’C2’的学生中成绩最高的学生的学号。正确的SELECT语句是___。
选项:
A:SELECT S# FROM SC WHERE C#=’C2′ AND GRADE >= ALL(SELECT GRADE FROM SC WHERE C#=’C2′)
B:SELECT S# FROM SC WHERE C#=’C2′ AND GRADE >=(SELECT GRADE FROM SC
WHERE C#=’C2′)
C:SELECT S# FROM SC WHERE C#=’C2′ AND GRADE IN (SELECT GRADE FROM SC
WHERE C#=’C2′)
D:SELECT S# FROM SC WHERE C#=’C2′ AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C#=’C2′)
答案: 【SELECT S# FROM SC WHERE C#=’C2′ AND GRADE >= ALL(SELECT GRADE FROM SC WHERE C#=’C2′)

11、 问题:关于SQL视图更新的可执行性,下列说法不正确的是___。
选项:
A:对于由单一Table子集构成的视图,即如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键,则不能更新
B:如果视图的select目标列包含聚集函数,则不能更新
C:如果视图中包括了group by子句,则不能更新
D:如果视图是由单个表的列构成,但并没有包括主键,则不能更新
答案: 【对于由单一Table子集构成的视图,即如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键,则不能更新

12、 问题:已知关系模式Student (S#  char(8) Primary key, Sname   char(10), Ssex char(2),Sage  integer,  D#  char(2), Sclass  char(6)),在此基础上定义了视图create view CStud(S#, Sname, Sclass) as ( select S#, Sname, Sclass from  Student where D# =‘03’)。若要对该视图进行更新,下列语句正确的是___。
选项:
A:Insert  into CStud Values  ( “98030104”, “张三丰”, “980301” );
B:Insert into CStud Values (98030104, “张三丰”, “980301”);
C:insert into CStud values (“98030104”, 张三丰, Null, Null, “03” , “980301”);
D:insert  into CStud values (Null, “张三丰”, “980301”);
答案: 【Insert  into CStud Values  ( “98030104”, “张三丰”, “980301” );

13、 问题:合并多个查询结果集,应使用___保留字。
选项:
A:union
B: join
C:into
D:and
答案: 【union

14、 问题:假如有两个表的连接是这样的:table_1 INNER JOIN table_2,其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集___。
选项:
A:只包括table_1和table_2中满足条件的行的组合结果
B:包括table_1中的所有行但不包括table_2的不匹配行的所有组合结果
C:包括table_2中的所有行但不包括table_1的不匹配行的所有组合结果
D:包括两个表的所有行的组合结果
答案: 【只包括table_1和table_2中满足条件的行的组合结果

15、 问题:有关SQL语言的空值处理,以下说法不正确的是___。
选项:
A:除is [not] null之外,空值满足任何查找条件
B:如果null参与比较运算,有些情况下是可以判断为真的或为假的。
C:如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null
D:如果null参与算术运算,则该算术表达式的值为null
答案: 【除is [not] null之外,空值满足任何查找条件

16、 问题:求既学过002号课,又学过003号课的同学学号,下列SQL语句不正确的是___。
选项:
A:Select S# From SC Where C# = ‘002’ AND C#=‘003’;
B:Select S#  From SC Where C# = ‘002’ INTERSECT Select S# From SC Where C# = ‘003’;
C:Select S# From SC Where C# = ‘002’ and S# IN (Select S# From SC Where C# =‘003’);
D:Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘002’ and  S2.C#=‘003 ;
答案: 【Select S# From SC Where C# = ‘002’ AND C#=‘003’;

17、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句:SELECT Sname FROM Student WHERE S# NOT IN(SELECT S# FROM SC WHERE Student.S#=SC.S# and C#= ‘C01’ and Score>=60);关于其查询结果,下列说法正确的是_____。
选项:
A:剔出掉C01号课程及格学生的其他学生的姓名
B: C01号课程及格的所有学生的姓名
C:C01号课程不及格的所有学生的姓名
D:剔出掉C01号课程不及格学生的其他学生的姓名
E:其它选项的说法都不正确
答案: 【剔出掉C01号课程及格学生的其他学生的姓名

18、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECT Sname FROM Student WHERE S# IN(SELECT S# FROM SC WHERE Student.S#=SC.S# and C#= ‘C01’ and Score>=60);关于其查询结果,下列说法正确的是_____。
选项:
A: C01号课程及格的所有学生的姓名
B: C01号课程不及格的所有学生的姓名
C:剔出掉C01号课程不及格学生的其他学生的姓名
D:剔出掉C01号课程及格学生的其他学生的姓名
E:其它选项的说法都不正确
答案: 【 C01号课程及格的所有学生的姓名

19、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECT Sname FROM Student WHERE S#  NOT IN( SELECT S#  FROM  SC, Course  WHERE  T# = ‘03’  and SC.C# = C.C#);关于其查询结果,下列说法正确的是_____。
选项:
A:没学过03号教师讲授过的任一门课的学生的姓名
B:学过03号教师讲授过的某一门课的学生的姓名
C:学过03号教师讲授过的所有门课的学生的姓名
D:没学全03号教师讲授过的所有门课的学生的姓名
E:其它选项的说法都不正确
答案: 【没学过03号教师讲授过的任一门课的学生的姓名

20、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECT S# FROM SC WHERE Score<60 GROUP BY C# HAVING Count(*)>2;关于其查询结果,下列说法正确的是_____。
选项:
A:有2人以上不及格课程的同学的学号
B:有2门以上不及格课程的同学的学号
C:有2门以上及格课程的同学的学号
D:有2人以上及格课程的同学的学号
E:其它选项的说法都不正确
答案: 【有2人以上不及格课程的同学的学号

21、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句SELECT S# FROM SC WHERE Score<60 AND Count(*)>2 GROUP BY S#;关于其查询结果,下列说法正确的是_____。
选项:
A:其它选项的说法都不正确
B:有2门以上不及格课程的同学的学号
C:有2门以上及格课程的同学的学号
D:有2人以上不及格课程的同学的学号
E:有2人以上及格课程的同学的学号
答案: 【其它选项的说法都不正确

22、 问题:已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。阅读SQL语句Select  Sname  From  Student Where S# NOT IN ( Select S#  From SC, Course C, Teacher T Where T.Tname = 李明’and SC.C# = C.C# and T.T# = C.T#  );关于其查询结果,下列说法正确的是_____。
选项:
A:列出没学过李明老师讲授任一课程的学生姓名
B:列出学全了李明老师讲授所有课程的学生姓名
C:列出学过李明老师讲授某一课程的学生姓名
D:列出没学全李明老师讲授所有课程的学生姓名
E:其它选项的说法都不正确

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题
支付后可长期查看
如有任何疑问请及时添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开

   

发表评论

电子邮件地址不会被公开。 必填项已用*标注