数据库考试习题及答案 (2) 下载本文

23. 下面哪个函数是属于字符串运算的(C)。

A.ABS B. SIN C. STR D. ROUND 24. 下面关于SQL Server中变量的操作正确的是(D)。 A. DECLARE @name varchar(8)

SET @name='lkl' print '姓名是'+@name

B. DECLARE name varchar(8)

SET name='lkl' print '姓名是'+name

C. print @@VERSION AS '版本', ,应该用“+”@@SERVERNAME AS '服务器' D. SELECT @@VERSION AS '版本', @@SERVERNAME AS '服务器' 简答题

25. 自定义函数主要有分哪两类?其返回值有什么区别?

答:标量函数、表值函数。 标量函数返回单个值,表值函数返回单个表。 26. Transact-SQL给变量赋值的语句有哪些?输出变量值的语句有哪些? 答:set和select select

27. 简述Transact-SQL的各个聚合函数的用途。

答:聚合函数用于对一组值进行计算并返回一个单一的值。除count函数之外,聚合函数忽略空值。聚合函数经常与select语句的group by 子句一同使用。聚合函数的作用是在结果集中通过对被选列值的收集处理,返回一个数值型的计算结果。

28. Transact-SQL语句共分几类?

答:数据定义语言、数据操纵语言、数据控制语言、控制流语言。

第五六章习题

选择题

1. SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示( C ) A.零个字符 B.1个字符串 C.多个字符串 D.以上都是 2. 使用空值查询是,表示一个列RR不是空值的表达式是( D )

A.RR IS NULL B.RR=NULL C.RR<>NULL D.RR IS NOT NULL

3. 下面聚集函数中哪个只能用于计算数值类型的数据( D ) A.COUNT( ) B.MIN( ) C.MAX( ) D.SUM( ) 还有一个AVG() 4. 以下哪一个不是逻辑运算符( D )

A.NOT B.AND C.OR D.IN

5. 以下( B )语句从表TABLE_NAME中提取前10条记录。 A.select * from TABLE_NAME where rowcount=10 B.select TOP 10 * from TABLE_NAME C.select TOP of 10 * from TABLE_NAME

D.select * from TABLE_NAME where rowcount<=10

6. 现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为标识,使用insert语句向book表中插入数据,以下语句错误的是( CD )。 A.insert into book (id,title,price) values(1,'java',100) B.insert into book (title,price) values('java',100)

C.insert into book values ('java',100) 这辆都不可以啊,如果不指定列需要明确的给出空值

D.insert book values('java',100)

7. 查询student表中的所有非空email信息, 以下语句正确的是( D )。 A.Select email from student where email !=null B.Select email from student where email not is null C.Select email from student where email <> null

D.Select email from student where email is not null 8. 关于聚合函数,以下说法错误的是(B )。

A.Sum返回表达式中所有数的总合,因此只能用于数字类型的列。 B.Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。 C.Max和Min可以用于字符型的列。 D.Count可以用于字符型的列。

9. 使用以下( A )不可以进行模糊查询。

A.OR B.Not between C.Not IN D.Like

10. 语句:select * from students where SNO like ‘010[^0]%[A,B,C]%’,可能会查询出的SNO是( A D )。(选择两项)

A.01053090A #Hm3? //[^0] 表示不可以为0 B.01003090A01 C.01053090D09 D.0101A01

11. 查询毕业学校名称与“清华”有关的记录应该用( D )。

A. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’*清华*’ B. SELECT * FROM 学习经历 WHERE 毕业学校 = ’%清华%’ C. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’?清华?’

D. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’%清华%’

12. 假定表table1中phone列有空值,则select count(*) from table1与select count(phone) from table1相等吗? B A.相等 B.不相等 填空题

13. 声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。 USE XK

DECLARE @COUNO VARCHAR(3),@COUNAME VARCHAR(20) ___declare CRSCOURSE______________________

FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO _____OPEN CRSCOURSE____________________

FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME WHILE @@FETCH_STATUS=0 BEGIN

PRINT ’课程号:’+ @COUNO +’课程名称:’+ @CouName

FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME END

____CLOSE CRSCOURSE_____________________ DEALLOCATE CRSCOURSSE

14. left join 运算是___左连接__________。 15. SELECT语句的基本格式如下: SELECT select_list [INTO new_table] [ FROM table_source ]

[ WHERE search_condition ]

[ GROUP BY group_by_expression ] [ HAVING search_condition ]

[ ORDER BY order_expression [ ASC | DESC ] ]

(1)SELECT语句的各个子句书写的是否有先后顺序要求? 是 (2)WHERE子句作用是 数据过滤 ;

GROUP BY子句作用是 按某一列或多列进行的值分组,值相等的为一组 ;

HAVING子句作用是 对分组进行筛选 ; ORDER BY子句作用是 对查询结果,按某一个或多个属性列的升序(ASC)或降序(DESC)排序 ; 16. 操作Transact-SQL 游标使用的语句有: 定义游标使用(DECLARE )语句; 打开游标使用( OPEN )语句;

移动游标取得一条记录使用( FETCH )语句; 关闭游标使用( CLOSE )语句。 简答题

17. 什么是动态游标? 什么是静态游标?

动态:定义一个游标,以反应在滚动游标时对查询结果集内的各行所做的所有数据更改

静态:定义一个游标,以创建将由该游标使用的数据的临时复本,不反应对基本所做的更改 第七章 判断题

1. SQL Server 自动为primary key约束的列建立一个索引。( 对 ) 填空题

2. ____试图____是由一个或多个数据表(基本表)或视图导出的虚拟表。 3. 索引的类型有_唯一、聚集________和非聚集索引。 选择题

4. SQL的视图是从( C )中导出的。

A. 基本表 B. 视图 C. 基本表或视图 D. 数据库 5. 使用索引下列哪个说法是正确的( B )。

A. 节省磁盘空间 B. 缩短查询时间 C. 在执行插入、修改、删除时节省时间 D. 与表无关 6. 关于视图下列哪一个说法是错误的( B )。

A. 视图是一种虚拟表 B. 视图中也存有数据

C. 视图也可由视图派生出来 D. 视图是保存在数据库中的SELECT查询 7. 索引是依附于表而存在的,建立索引的目的是(A) A. 提高查询表中数据的速度

B. 建立聚集索引可以使表中的记录按索引关键字的顺序排列 C. 提高表的安全性

8. SQL Server中索引分为哪三类?( ) 这个有待商议

A. 主键索引 B. 复合索引 C. 唯一索引 D. 普通索引 9. 建立视图的目的是(BC)