资源描述
第5章习题与参照答案
一.单项选取题
1.当关系R和S进行连接操作时,如果R中元组不满足连接条件,在连接成果中也会将这些记录保存下来操作是(A)。
A.左外连接
B.右外连接
C.内连接
D.自连接
2.下列聚合函数中,不忽视空值是(D)。
A.SUM(列名)
B.MAX(列名)
C.AVG(列名)
D.COUNT(*)
3.下列查询语句中,错误是(B)。
A.SELECT Sno,COUNT(*) FROM SC GROUP BY Sno
B.SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3
C.SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3
D.SELECT Sno FROM SC GROUP BY Sno
4.现要运用Student表查询年龄最小学生姓名和年龄。下列实现此功能查询语句中,对的是(D)。
A.SELECT Sname,MIN(Sage) FROM Student
B.SELECT Sname,Sage FROM Student WHERE Sage = MIN(Sage)
C.SELECT TOP 1 Sname,Sage FROM Student
D.SELECT TOP 1 Sname,Sage FROM Student ORDER BY Sage
5.设SC表中记录成绩列为:Grade,类型为int。若在查询成绩时,但愿将成绩按‘优’、‘良’、‘中’、‘及格’和‘不及格’形式显示,对的Case函数是(C)。
A.Case Grade
When 90~100THEN'优'
When 80~89THEN'良'
When 70~79THEN'中'
When 60~69THEN'及格'
Else'不及格'
End
B.Case
When Gradebetween 90 and 100THENGrade = '优'
When Gradebetween 80 and 89THENGrade = '良'
When Gradebetween 70 and 79THENGrade = '中'
When Gradebetween 60 and 69THENGrade = '及格'
ElseGrade = '不及格'
End
C.Case
When Gradebetween 90 and 100THEN'优'
When Gradebetween 80 and 89THEN'良'
When Gradebetween 70 and 79THEN'中'
When Gradebetween 60 and 69THEN'及格'
Else'不及格'
End
D.Case Grade
When 90~100THEN Grade = '优'
When 80~89THEN Grade = '良'
When 70~79THEN Grade = '中'
When 60~69THEN Grade = '及格'
ElseGrade = '不及格'
End
6.下列SQL语句中,用于修改表数据语句是(C)。
A.ALTER
B.SELECT
C.UPDATE
D.INSERT
7.设有Teachers表,该表定义如下:
CREATE TABLE Teachers(
Tno CHAR(8) PRIMARY KEY,
Tname VARCHAR(10) NOT NULL,
Age TINYINT CHECK(Age BETWEEN 25 AND 65) )
下列插入语句中,不能对的执行是(D)。
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 Teachers VALUES('T100','张宏')
8.设数据库中已有教材中Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Credit,Semster)和SC(Sno,Cno,Grade)表。现要查询学生选第2学期开设课程状况,只需列出学号、姓名、所在系和所选课程号。该查询涉及到表是(D)。
A.仅Student表
B.仅Student和SC表
C.仅Student和Course表
D.Student、SC和Course表
9.下列删除计算机系学生(在student表中)修课记录(在SC表中)语句,对的是(B)。
A.DELETEFROM 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 StudentWHERE Sdept = '计算机系'
D.DELETE FROM SC WHERE Sdept = '计算机系'
二.判断题
1.SELECT * FROM Student WHERE Sname LIKE'张_'语句中'张_' 用于查找姓张学生。(╳)
2.SELECT * FROM Student WHERE Sname LIKE'[张李刘]%' 语句可以查找姓张、李、刘学生。(√ )
3.SELECT COUNT(DISTINCT Sno) FROM SC 语句用于记录学生总人数。(╳)
4.HAVING子句用于对分组后记录成果再进行过滤,它用于组而不是对单个记录。(√ )
5.SELECT * FROM Student INNER JOINSC
ON Student.Sno = SC.Sno语句可将Student与 SC连接起来。(√)
三.简答题
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.有关子查询与嵌套子查询在执行方面重要区别是什么?
答:有关子查询执行过程是先外后内,而嵌套子查询执行过程是先内后外。并且有关子查询中必要有与外层查询关联,而嵌套子查询中,内、外层查询之间没关于联关系。
8.对记录成果筛选应当使用哪个子句完毕?
答:HAVING子句
9.在排序子句中,排序根据列先后顺序与否重要?ORDER BY C1,C2子句对数据排序顺序是什么?
答:重要,系统会按列先后顺序进行排序。
先按C1列进行排序,在C1列值相似时再按C2列进行排序。
10.TOP 子句作用是什么?
答:在查询成果产生后,提取成果前若干行数据。
展开阅读全文