做以记录与分享
第3,4,5章作业.xls
题量: 38 满分: 100
一. 单选题(共38题)
1. (单选题)关于视图的属性列有如下说法,正确的说法是( )。
- A. 组成视图的属性列名或者全部省略或者全部指定,别无选择
- B. 组成视图的属性列名应该全部指定
- C. 组成视图的属性列名应该全部省略
- D. 组成视图的属性列名可以省略一部分或者指定一部分,其他隐含在子查询中
我的答案: A :组成视图的属性列名或者全部省略或者全部指定,别无选择;
2. (单选题)在关系数据库中,通常将能唯一标识元组的属性或最小属性组称为( )。
我的答案: B :主键;
3. (单选题)从SQL数据库的体系结构来看,用户可以用SQL语言的语句,对( )和基本表进行查询等操作。
我的答案: D :视图;
4. (单选题)下列关于子查询的说法不正确的是( )。
- A. 子查询总是在外部查询之后进行
- B. 子查询可以嵌套多层
- C. 子查询的结果是包含零个或多个元组的集合
- D. 子查询可以向外部查询提供查询的条件值
我的答案: A :子查询总是在外部查询之后进行;
5. (单选题)在视图上一定不能完成的操作是( )。
- A. 更新数据
- B. 在视图上定义新的视图
- C. 在视图上定义新的基本表
- D. 查询数据
我的答案: C :在视图上定义新的基本表;
6. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。要查询每门课程的平均成绩,且要求查询的结果按课程号降序排列,则用SQL语句应为( )。
- A. Select C#, AVG(Grade) from SCG Group by C# Order by C# Desc
- B. Select C#, AVG(Grade) from SCG Group by Grade Order by Desc C#
- C. Select C#, AVG(Grade) from SCG Group by C# Order by Desc C#
- D. Select C#, AVG(Grade) from SCG Group by Grade Order by C# Desc
我的答案: A :Select C#, AVG(Grade) from SCG Group by C# Order by C# Desc;
7. (单选题)请判断“如果新的视图是建立在老的视图基础上的,那么当老的视图被删除时,建立在它的基础上的新的视图也被删除”。
我的答案: A :错误;
8. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是( )。
- A. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C#=’C2’)
- B. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE= (SELECT max(GRADE) FROM SC WHERE C#=’C2’)
- C. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE NOT IN (SELECT GRADE FROM SC WHERE C#=’C2’)
- D. SELECT S# FROM SC WHERE C#=’C2’ AND GRADE>= (SELECT GRADE FROM SC WHERE C#=’C2’)
我的答案: B :SELECT S# FROM SC WHERE C#=’C2’ AND GRADE= (SELECT max(GRADE) FROM SC WHERE C#=’C2’);
9. (单选题)SQL语言是( )语言。
- A. 层次数据库
- B. 网络数据库
- C. 关系数据库
- D. 非数据库
我的答案: C :关系数据库;
10. (单选题)在分组查询中,要去掉不满足条件的分组,则( )。
- A. 先使用WHERE子句,再使用HAVING子句
- B. 使用HAVING子句
- C. 使用WHERE子句
- D. 先使用HAVING子句,再使用WHERE子句
我的答案: B :使用HAVING子句;
11. (单选题)关系型数据库语言SQL基本的使用方式有2种,一种方式为单独使用,此时被称为( )语言。
我的答案: A :交互式;
12. (单选题)假设GRADE是某关系中的一个属性,其值可以为NULL。在SQL中,下列涉及空值的操作,不正确的是( )。
- A. GRADE IS NOT NULL
- B. NOT (GRADE IS NULL)
- C. GRADE=NULL
- D. GRADE IS NULL
我的答案: C :GRADE=NULL;
13. (单选题)如果表中学生的学号信息长度固定,则采用( )类型最为合适。
- A. varchar
- B. int
- C. char
- D. tinyint
我的答案: C :char;
14. (单选题)关于WHERE子句说法正确的是( )。
- A. 它是条件子句,不能再包含查询子句
- B. 在查询语句中,不是必须包括WHERE子句
- C. WHERE子句中可以有统计函数
- D. WHERE子句还可以嵌套查询子句,但嵌套层次不能超过3层
我的答案: B :在查询语句中,不是必须包括WHERE子句;
15. (单选题)若用SQL语句创建一个student表:CREATE TABLE student ( NO Char(4) NOT NULL, NAME Char(8) NOT NULL, SEX Char(2), AGE tinyint )。可以插入到student表中的是( )。
- A. (NULL,’曾华’,’男’,’23’)
- B. (’1031’,’曾华’,’男’,’23’)
- C. (’1031’,’曾华’,NULL,NULL)
- D. (’1031’,NULL,’男’,23)
我的答案: C :(’1031’,’曾华’,NULL,NULL);
16. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的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>王华.AGE
- D. SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’)
我的答案: A :SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’);
17. (单选题)SQL语言的语句中,最核心的语句是( )。
- A. 插入语句
- B. 创建语句
- C. 查询语句
- D. 删除语句
我的答案: C :查询语句;
18. (单选题)若要删除数据库中已存在的关系Student,可用( )。
- A. DROP Student
- B. DELETE Student
- C. DELETE TABLE Student
- D. DROP TABLE Student
我的答案: D :DROP TABLE Student;
19. (单选题)设关系数据库中一个关系Student(Sno CHAR(6) NOT NULL UNIQUE, Sname VARCHAR(8), Grade float),若要在Student中增加一列CName(课程名),可用( )。
- A. ALTER TABLE Student (ADD CName CHAR(8))
- B. ALTER TABLE Student ADD (CName CHAR(8))
- C. ADD TABLE Student(CName CHAR(8))
- D. ADD TABLE Student ALTER (CName CHAR(8))
我的答案: B :ALTER TABLE Student ADD (CName CHAR(8));
20. (单选题)SQL语言中,实现数据检索的语句是( )。
- A. UPDATE
- B. SELECT
- C. INSERT
- D. DELETE
我的答案: B :SELECT;
21. (单选题)若某非主属性的值暂时不能确定也允许将其存入数据库,可将未定值用( )来代替。
- A. ANY
- B. ALL
- C. NULL
- D. NOT NULL
我的答案: C :NULL;
22. (单选题)视图创建完毕后,数据字典中存放的是( )。
- A. 所应用的基本表的定义
- B. 视图定义
- C. 查询结果
- D. 查询语句
我的答案: B :视图定义;
23. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是( )。
- A. SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC.GRADE
- B. SELECT S.SN, SC.C#, SC.GRADE FROM S JOIN SC ON S.S#=SC.S#
- C. SELECT S.SN, SC.C#, SC.GRADE FROM S WHERE S.S#=SC.S#
- D. SELECT S.SN, SC.C#, SC.GRADE FROM S, SC
我的答案: B :SELECT S.SN, SC.C#, SC.GRADE FROM S JOIN SC ON S.S#=SC.S#;
24. (单选题)SELECT语句中与HAVING子句同时使用的是( )子句。
- A. GROUP BY
- B. LIMIT
- C. ORDER BY
- D. WHERE
我的答案: A :GROUP BY;
25. (单选题)在关系数据库中,只存放视图的( )而不存放视图( ),视图是一个( )。
- A. 定义;对应的数据;实表
- B. 对应的数据;定义;实表
- C. 对应的数据;定义;虚表
- D. 定义;对应的数据;虚表
我的答案: D :定义;对应的数据;虚表;
26. (单选题)在基本SQL语言中,下面不能实现的是( )。
- A. 修改基本表结构
- B. 定义基本表
- C. 并发控制
- D. 查询视图或基本表
我的答案: C :并发控制;
27. (单选题)关于视图,下列说法正确的是( )。
- A. 属于外模式
- B. 属于概念模式
- C. 属于内模式
- D. 是基本表
我的答案: A :属于外模式;
28. (单选题)学生表S(S#,SN,SEX,AGE,DEPT)、课程表C(C#,CN)和学生选课表SC(S#,C#,GRADE),其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(为tinyint类型)。检索学生姓名的选课情况(包括未选课)。正确的SELECT语句是( )。
- A. SELECT S.SN, SC.C# FROM S RIGHT JOIN SC ON S.S#=SC.S#
- B. SELECT S.SN, SC.C# FROM SC WHERE S.S#=SC.GRADE
- C. SELECT S.SN, SC.C# FROM S JOIN SC ON S.S#=SC.S#
- D. SELECT S.SN, SC.C# FROM S LEFT JOIN SC ON S.S#=SC.S#
我的答案: D :SELECT S.SN, SC.C# FROM S LEFT JOIN SC ON S.S#=SC.S#;
29. (单选题)假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( )。
- A. S
- B. S,SC
- C. S,C,SC
- D. SC,C
我的答案: C :S,C,SC;
30. (单选题)用SQL语言定义基本表时,下列()类型必需定义长度。
- A. text
- B. varchar
- C. float
- D. int
我的答案: B :varchar;
31. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。若要把“201721110001学生的C05号课程85分”插入SCG中,则可用( )。
- A. INSERT INTO SCG VALUES ('201721110001','C05',85)
- B. ALTER SCG ADD VALUES ('201721110001','C05',85)
- C. ADD INTO SCG VALUES ('201721110001','C05',85)
- D. UPDATE SCG ADD VALUES ('201721110001','C05',85)
我的答案: A :INSERT INTO SCG VALUES ('201721110001','C05',85);
32. (单选题)SELECT语句执行的结果是( )。
我的答案: A :表;
33. (单选题)WHERE子句的条件表达式中,可以匹配单个字符的通配符和0个到多个字符的通配符分别是( )。
我的答案: C :_和%;
34. (单选题)在下列的( )情况下必须明确指定组成视图的所有属性列名。(1)某个目标列不是单纯的属性名,而是集函数或列表达式;(2)多表连接时选出了几个同名列作为视图的字段;(3)需要在视图中为某个列启用新的更合适的名字。
- A. (2)(3)
- B. (1)(2)(3)
- C. (1)(3)
- D. (1)(2)
我的答案: B :(1)(2)(3);
35. (单选题)设关系模式SCG(S#,C#,Grade)中,S#为学生学号,C#为课程号,Grade为某学号学生某号课程的考试成绩。若要把“201721110001学生的C05号课程改为85分”,则可用( )。
- A. UPDATE Grade=85 Where S#='201721110001' AND C#='C05'
- B. ALTER Grade=85 Where S#='201721110001' AND C#='C05'
- C. UPDATE SCG SET Grade=85 Where S#='201721110001' AND C#='C05'
- D. ALTER SCG SET Grade=85 Where S#='201721110001' AND C#='C05'
我的答案: C :UPDATE SCG SET Grade=85 Where S#='201721110001' AND C#='C05';
36. (单选题)“年龄在18-25之间”这种约束属于数据库系统的( )措施。
我的答案: C :完整性;
37. (单选题)SQL语言是( )的语言,易学习。
- A. 导航式
- B. 非过程化
- C. 格式化
- D. 过程化
我的答案: B :非过程化;
38. (单选题)下列SQL语句中,修改表结构的是( )。
- A. INSERT
- B. UPDATE
- C. ALTER
- D. CREATE
我的答案: C :ALTER;