MYSQL数据库武洪萍版第四章习题与答案.pdf
一 选择题 1 下面哪种数字数据类型不可以存储数据 256 D A bigintB intC SmallintD tinyint 2 下面是有关主键和外键之间的关系描述 正确的是 AC A 一个表最多只能有一个主键约束 多个外键约束 B 一个表中最多只有一个外键约束 一个主键约束 C 在定义主键外键约束时 应该首先定义主键约束 然后定义外键约束 D 在定义主键外键约束时 应该首先定义主键约束 然后定义主键约束 3 下面关于数据库中表的行和列的叙述正确的是 D A 表中的行是有序的 列是无序的B 表中的列是有序的 行是无序的 C 表中的行和列都是有序的D 表中的行和列都是无序的 4 SQL 语言的数据操作语句包括 SELECT INSERT UPDATE DELETE 等 其中最重要的 也 是使用最频繁的语句是 A A SELECTB INSERTC UPDATED DELETE 5 在下列 SQL 语句中 修改表结构的语句是 A A ALTERB CREATEC UPDATED INSERT 6 设有关系 R A B C 和 S C D 与关系代数表达式 A B D R C S C R S 等价的 SQL 语 句是 B A SELECT FROM R S WHERE R C S C B SELECT A B D FROM R S WHERE R C S C C SELECT A B D FROM R S WHERE R S D SELECT A B FROM R WHERE SELECT D FROM S WHERE R C S C 7 设关系 R A B C 与 SQL 语句 SELECT DISTINST A FROM R WHERE B 17 等价的关系代数 表达式是 A A A B 17 R B B 17 A R C B 17 A C R D A C B 17 R 下面第 8 12 题 基于 学生 选课 课程 数据库中的 3 个关系 S S SNAME SEX DEPAPTMENT 主码是 S C C CNAME TEACHER 主码是 C SC S C GRADE 主码是 S C 8 在下列关于保持数据库完整性的叙述中 哪一个是不正确的 D A 向关系 SC 插入元组时 S 和 C 都不能是空值 NULL B 可以任意删除关系 SC 中的元组 C 向任何一个关系插入元组时 必须保证该关系主码值得唯一性 D 可以任意删除关系 C 中的元组 9 查找每个学生的学号 姓名 选修的课程名和成绩 将使用关系 D A 只有 S SCB 只有 SC CC 只有 S CD S SC C 10 若要查找姓名中第 1 个字为 王 的学生的学号和姓名 则下面列出的 SQL 语句中 哪个 些 是正确的 B SELECT S SNAME FROM S WHERE SNAME 王 SELECT S SNAME FROM S WHERE SNAME LIKE 王 SELECT S SNAME FROM S WHERE SNAME LIKE 王 A B C D 全部 11 若要 查询选修了 3 门以上课程的学生的学号 则正确的 SQL 语句是 B A SELECT S FROM SC GROUP BY S WHERE COUNT 3 B SELECT S FROM SC GROUP BY S HAVING COUNT 3 C SELECT S FROM SC ORDER BY S WHERE COUNT 3 D SELECT S FROM SC ORDER BY S HAVING COUNT 3 12 若要查找 由张劲老师执教的数据库课程的平均成绩 最高成绩和最低成绩 则将使用关系 D A S 和 SCB SC 和 CC S 和 CD S SC 和 C 下面第 13 16 题基于这样的 3 个表 即学生表 S 课程表 C 和学生选课表 SC 它们的关系模式如下 S S SN SEX AGE DEPT 学号 姓名 性别 年龄 系别 C C CN 课程号 课程名称 SC S C GRADE 学号 课程号 成绩 13 检索所有比 王华 年龄大的学生姓名 年龄和性别 下面正确的 SELECT 语 句是 A 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 14 检索选修课程 C2 的学生中成绩最高的学生的学号 正确的 SELECT 语句是 D A 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 IN SELECT GRADE GORM SC WHERE C C2 C SELECT S FROM SC WHERE C C2 AND GRADE NOT IN SELECT GRADE GORM SC WHERE C C2 D SELECT S FROM SC WHERE C C2 AND GRADE ALL SELCET GRADE FROM SC WHERE C C2 15 检索 4 门以上课程的学生总成绩 不统计不及格的课程 并要求按总成绩的 降序排列出来 正确的 SELECT 语句是 B A SELECT S SUM GRAGE FROM SC WHERE GRADE 60 GROUP BY S ORDER BY S HAVING COUNT 4 B SELECT S SUM GRADE FROM SC WHERE GRADE 60 GROUP BY S HAVING COUNT 4 ORDER BY 2 DESC C SELECT S SUM GRADE FROMSC WHERE GRADE 60 HAVING COUNT 60 HAVING COUNT 4 GROUP BY S ORDER BY 2 17 数据库见表 4 59 和表 4 60 若职工表的主关键字是职工号 部门表的关键 字是部门号 SQL 操作 B 不能执行 A 从职工表中删除行 025 王芳 03 720 B 将行 005 乔兴 04 720 插入到职工表中 C 将职工号为 001 的工资改为 700 D 将职工号为 038 的部门号改为 03 表表 4 59职工表职工表 职工号职工名部门号工资E F 001李红01580G H 005刘军01670I J 025王芳03720K L 038张强02650M N 表 4 60部门表 部门号部门名主任 01人事处高平 02财务处蒋华 03教务处许红 04学生处杜琼 18 若用如下的 STUDENT 表 CREATE TABLE STUDENT NO char 4 NOT NULL NAME char 8 NOT NULL SEX char 2 AGE int 可以插入到 STUDENT 表中的是 B A 1031 曾华 男 23 B 1031 曾华 NULL NULL C NULL 曾华 男 23 D 1031 NULL 男 23 19 有 关 系S S SNAME SAGE C C CNAME SC S C GRADE 要 查 询 选 修 ACCESS 课的年龄不小 20 的全体学生姓名的 SQL 语句 SELECT SNAME FROM S C SC WHERE 子句 这里的 WHERE 子句的内容是 A A S S SC S AND C C SC C ANDSAGE 20 AND CNAME ACCESS B S S SC S AND C C SC C AND SAGE IN 20 AND CNAME IN ACCESS C SAGE 20 AND CNAME ACCESS D SAGE 20 AND CNAMEIN ACCESS 20 若要在基本表中 S 中增加一列 CN 课程名 可用 D A ADD TABLE S CN char 8 B ADD TABLE S ALTER CN char 8 C ALTER TABLE S ADD CN char 8 D ALTER TABLE S ADD CN char 8 21 学生关系模式 S S SNAME AGE SEX S 的属性分别表示学生的学号 姓名 年 龄 性别 要在表 S 中删除一个属性 年龄 可选用的 SQL 语句是 B A DELETE AGE FROM S B ALTER TABLE S DROP COLUMN AGE C UPDATE S AGE D ALTER TABLE S AGE 22 设关系数据库中有一个表 S 的关系模式为 S SN CN GRADE 其中 SN 为学生名 CN 为课程名 二者为字符型 GRADE 为成绩 数值型 取值范围 0 100 若要 更正 王二 的化学成绩为 85 分 则可用 A A UPDATE S SET GRADE 85 WHERE SN 王二 AND CN 化学 B UPDATE S SET GRADE 85 WHERE SN 王二 AND SN 化学 C UPDATE GRADE 85 WHERE SN 王二 AND CN 化学 D UPDATE GRADE 85 WHERE SN 王二 AND CN 化学 23 在 SQL 语言中 子查询语句是 D A 返回单表中数据子集的查询语句 B 选取多表中字段子集的查询语句 C 选取单表中字段子集的查询语句 D 嵌入到另一个查询语句之中的查询语句 24 在 SQL 语言中 条件 年龄 BETWEEN 20 AND 30 表示年龄在 20 30 且 A A 包括 20 岁和 30 岁B 不包括 20 岁和 30 岁 C 包括 20 岁但不包括 30 岁D 包括 30 岁但不包括 20 岁 25 下列聚合函数不忽略空值 NULL 的是 C A SUM 列名 B MAX 列名 C COUNT D NOT AGE IS NULL 26 在 SQL 中 下列涉及空值的操作 不正确的是 C A AGE IS NULLB AGE IS NOT NULL C AGE NULLD NOT AGE IS NULL 27 已知学生选课信息表 sc sno cno grade 查询 至少选修了一门课程 但没 有学习成绩的学生学号和课程号 的 SQL 语句是 C A SELECT sno cno FROM sc WHERE grade NULL B SELECT sno cno FROM sc WHERE grade IS C SELECT sno cno FROM sc WHERE grade IS NULL D SELECT sno cno FROM sc WHERE grade 28 有如下的 SQL 语句 SELECT sname FROM s sc WHERE grade 60 SELECT sname FROM s WHERE sno IN SELECT sno FROM sc WHERE grade 60 SELECT sname FROM s sc WHERE s sno sc sno AND grade 60 若要查找分数 grade 不及格的学生姓名 sname 则以上正确的有哪些 C A 和 B 和 C 和 D 和 二 填空题 1 关系 R A B C 和 S A D E F 有 R A S A 若将关系代数表达式 R A R B S D S F R S 用 SQL 语言的查询语句表示 则为 SELECT R A R B S D