数据库课后习题参考答案 下载本文

内容发布更新时间 : 2024/5/16 2:11:01星期一 下面是文章的全部内容请认真阅读。

. . . .

Order by sage

B.select sno,sname,sage from student where sdept = 'cs' Union

select sno,sname,sage from student where sdept = 'is' Order by sage

C.select sno,sname,sage from student where sdept = 'cs' Union

select sno,sname from student where sdept = 'is' Order by sage

D.select sno,sname,sage from student where sdept = 'cs' Order by sage Union

select sno,sname,sage from student where sdept = 'is' 9.下列SQL语句中,用于修改表数据的语句是

C

A.ALTER B.SELECT C.UPDATE

D.INSERT

10.设有Teachers表,该表的定义如下: CREATE TABLE Teachers(

Tno CHAR(8) PRIMARY KEY,

Tname VARCHAR(10) NOT NULL,

Age TINYINT CHECK(Age BETWEEN 25 AND 65) )

下列插入语句中,不能正确执行的是

D

. word资料可编辑 .

. . . .

A.INSERT INTO Teachers VALUES('T100','张鸿',NULL)

B.INSERT INTO Teachers(Tno,Tname,Age) VALUES('T100','张鸿',30) C.INSERT INTO Teachers(Tno,Tname) VALUES('T100','张鸿') D.INSERT INTO TeachersVALUES('T100','张鸿')

11.设数据库中已有表4-1至4-3所示的Student、Course和SC表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是

A.仅Student表

C.仅Student和Course表

B.仅Student和SC表 D.Student、SC和Course表

D

12.删除计算机系学生(在student表中)的修课记录(在SC表中)的正确的语句是表是 B

A.DELETE FROM SC JOIN Student b ON S.Sno = b.Sno WHERE Sdept = '计算机系'

B.DELETE FROM SC FROM SC JOIN Student b ON SC.Sno = b.Sno WHERE Sdept = '计算机系'

C.DELETE FROM Student WHERE Sdept = '计算机系' D.DELETE FROM SC WHERE Sdept = '计算机系'

二. 填空题

1. 在相关子查询中,子查询的执行次数是由_________决定的。外层表的行数

2. 对包含基于集合测试子查询的查询语句,是先执行_________层查询,在执行_________层查询。

内,外

3. 对包含相关子查询的查询语句,是先执行_________层查询,在执行_________层查询。外,内 4. 聚合函数COUNT(*)是按_________统计数据个数。行

. word资料可编辑 .

. . . .

5. 设Grade列目前有三个值:90、80和NULL,则AVG(Grade)的值是_________,MIN(Grade)的值

是_________。85,80

6. 设有学生表(学号,姓名,所在系)和选课表(学号,课程号,成绩),现要建立统计每个系

的选课人数。请补全下列语句: COUNT(DISTINCT 选课表.学号) SELECT 所在系, _________ FROM 选课表 JOIN 学生表 ON 选课表.学号 = 学生表.学号 GROUP BY 所在系

7. 设有选课表(学号,课程号,成绩),现要查询考试成绩最高的三个学生的学号、课程号和成

绩,包括并列情况。请补全下列语句: TOP 3 WITH TIES, ORDER BY 成绩 DESC SELECT _________ 学号,课程号,成绩 FROM 选课表 _________

8. UNION操作用于合并多个查询语句的结果,如果在合并结果时不希望去掉重复的数据,则在用

UNION操作时应使用_________关键字。 ALL

9. 进行自连接操作的两个表在物理上为一张表。通过_________方法可将物理上的一张表在逻辑上

成为两张表。起别名

10. FROM A LEFT JOIN B ON …语句表示在连接结果中不限制_________表数据必须满足连接条

件。 A

11. 对分组后的统计结果再进行筛选使用的子句是_________。HAVING

12. 若SELECT语句中同时包含WHERE子句和GROUP子句,则先执行的是_________子句。

WHERE

三. 简答题

. word资料可编辑 .

. . . .

1. 在聚合函数中,哪个函数在统计时不考虑NULL。 答:COUNT(*)

2. 在LIKE运算符中“%”的作用是什么? 答:匹配0个或多个字符。

3. WHERE Age BETWEEN 20 AND 30子句,查找的Age范围是多少? 答:Age大于等于20并且小于等于30

4. WHERE Sdept NOT IN (‘CS’,’IS’,’MA’),查找的数据是什么? 答:查找‘CS’,’IS’,’MA’三个系之外的其他系

5. 自连接与普通内连接的主要区别是什么?

答:自连接中进行连接操作的表在物理上是一张表,而普通内连接进行连接的表在物理上是两张表。

6. 外连接与内连接的主要区别是什么?

答:进行外连接的两个表中,可以有一张表不满足连接条件,而进行内连接的两个表必须都满足连接条件。

7. 在使用UNION合并多个查询语句的结果时,对各个查询语句的要求是什么? 答:各个查询语句的列个数必须相同,对应列的语义相同,类型兼容。

. word资料可编辑 .

. . . .

8. 相关子查询与嵌套子查询在执行方面的主要区别是什么?

答:相关子查询的执行过程是先外后内,而嵌套子查询的执行过程是先内后外。而且相关子查询中必须有与外层查询的关联,而嵌套子查询中,内、外层查询之间没有关联关系。

9. 执行SELECT … INOT 表名 FROM …语句时,对表名的要求是什么? 答:必须是一个不存在的新表名。

10. 对统计结果的筛选应该使用哪个子句完成? 答:使用HAVING子句

11. 在排序子句中,排序依据列的前后顺序是否重要?ORDER BY C1,C2子句对数据的排序顺序是

什么?

答:重要,系统会按列的先后顺序进行排序。

先按C1列进行排序,在C1列值相同时再按C2列进行排序。

12. TOP 子句的作用是什么?

答:在查询结果产生后,提取结果的前若干行数据。

四.上机练习

1.查询学生选课表中的全部数据。 答:select * from SC

. word资料可编辑 .