SQL Server笔试题


Posted in 面试题 onJanuary 10, 2012
选择题:(每空2分共20分)
1、在MS SQL Server中,用来显示数据库信息的系统存储过程是( )
A sp_ dbhelp
B sp_ db
C sp_ help
D sp_ helpdb
2、SQL语言中,删除一个表的命令是( )
A DELETE
B DROP
C CLEAR
D REMORE
3、关系数据库中,主键是(__)
A、为标识表中唯一的实体
B、创建唯一的索引,允许空值
C、只允许以表中第一字段建立
D、允许有多个主键的
4、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用关键字2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),如果在SELECT语句中使用聚合函数时,一定在后面使用(4___)。
⑴ A、SELECT,INTO B、SELECT,FROM
C、SELECT,GROUP D、仅SELECT
⑵ A、DISTINCT B、UNION
C、ALL C、TOP
⑶ A、JOIN B、UNION
C、INTO C、LIKE
⑷ A、GROUP BY B、COMPUTE BY
C、HAVING D、COMPUTE
5、语句DBCC SHRINKDATABASE (Sample, 25)中的25表示的意思是
A、25M
B、剩余占整个空间的25%
C、已用空间占整个空间的25%
D、以上都不对
6、你是一个保险公司的数据库开发人员,公司的保单信息存储在SQL Server 2000数据库中,你使用以下脚本建立了一个名为Policy的表:
CREATE TABLE Policy
(
PolicyNumber int NOT NULL DEFAULT (0),
InsuredLastName char (30) NOT NULL,
InsuredFirstName char (20) NOT NULL,
InsuredBirthDate datetime NOT NULL,
PolicyDate datetime NOT NULL,
FaceAmount money NOT NULL,
CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber)
)
每次公司销售出一份保单,Policy表中就增加一条记录,并赋予其一个新的保单号,你将怎么做?
a.建立一个INSTEAD OF INSERT触发器来产生一个新的保单号,并将这个保单号插入数据表中。
b.建立一个INSTEAD OF UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
c.建立一个AFTER UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
d.用AFTER UPDATE触发器替代DEFAULT约束条件产生一个新的保单号,并将这个保单号插入数据表中。
7、在SQL语言中,如果要建立一个工资表包含职工号,姓名,职称。工资等字段。若要保证工资字段的取值不低于800元,最合适的实现方法是:
A。在创建工资表时为”工资“字段建立缺省
B。在创建工资表时为”工资“字段建立检查约束
C。在工资表建立一个触发器
D。为工资表数据输入编写一个程序进行控制
8、Select 语句中用来连接字符串的符号是______.
A. “+” B. “&” C.“||” D.“|”
9、你是一个出版公司的数据库开发人员,对特定的书名的每天的销售情况建立了如下的存储过程:
CREATE PROCEDURE get_sales_for_title
title varchar(80), @ytd_sales int OUTPUT
AS
SELECT @ytd_sales = ytd_sales
FROM titles
WHERE title = @title
IF @@ROWCOUNT = 0
RETURN(-1)
ELSE
RETURN(0)
另外建立了一个脚本执行这个存储过程,如果执行成功,将返回对应于书名的每天的销售情况的报表,如果执行失败,将返回“No Sales Found”,怎样建立这个脚本?
A. DECLARE @retval int
DECLARE @ytd int
EXEC get_sales_for_title ‘Net Etiquette’, @ytd
IF @retval PRINT ‘No sales found’
ELSE
PRINT ‘Year to date sales: ’ + STR (@ytd)
GO
B. DECLARE @retval int
DECLARE @ytd int
EXEC get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT
IF @retval PRINT ‘No sales found’
ELSE
PRINT ‘Year to date sales: ’ + STR (@ytd)
GO
C. DECLARE @retval int
DECLARE @ytd int
EXEC get_sales_for_title ‘Net Etiquette’,@retval OUTPUT
IF @retval PRINT ‘No sales found’
ELSE
PRINT ‘Year to date sales: ’ + STR (@ytd)
GO
D. DECLARE @retval int
DECLARE @ytd int
EXEC @retval = get_sales_for_title ‘Net Etiquette’, @ytd OUTPUT
IF @retval PRINT ‘No sales found’
ELSE
PRINT ‘Year to date sales: ’ + STR (@ytd)
GO
10、You are a database developer for a container manufacturing company. The containers produced by your company are a number of different sizes and shapes. The tables that store the container information are shown in the Size, Container, and Shape Tables exhibit:
Size
SizeID
SizeName
Height
Container
ContainerID
ShapeID
SizeID
Shape
ShapeID
ShapeName
Measurements
A sample of the data stored in the tables is shown below:
Size Table
SizeID SizeName Height
1 Small 40
2 Medium 60
3 Large 80
4 Jumbo 100
Shape Table
ShapeID ShapeName Measurement
1 Triangle 10
2 Triangle 20
3 Triangle 30
4 Square 20
5 Square 30
6 Square 40
7 Circle 15
8 Circle 25
9 Circle 35
Periodically, the dimensions of the containers change. Frequently, the database users require the volume of a container. The volume of a container is calculated based on information in the shape and size tables.
You need to hide the details of the calculation so that the volume can be easily accessed in a SELECT query with the rest of the container information. What should you do?
A. Create a user-defined function that requires ContainerID as an argument and returns the volume of the container.
B. Create a stored procedure that requires ContainerID as an argument and returns the volume of the container.
C. Add a column named volume to the container table. Create a trigger that calculates and stores volume in this column when a new container is inserted into the table.
D. Add a computed column to the container table that calculates the volume of the container.
填空题(1空1分共20分)
1、 如果设计的表不符合第二范式,可能会导致_______,________,_______。
2、 SQL是由_______语言,________语言,_______语言组成。
3、 SQL Server在两个安全级上验证用户,分别是______________,_____________________。
4、 自定义函数由___________函数,_______________函数,___________________函数组成。
5、 备份策略的三种类型是__________备份,_______________备份,___________________备份组成。
6、 启动一个显式事务的语句为__________,提交事务的语句为__________,回滚事务的语句为_________
7、 表的每一行在表中是惟一的实体属于__________完整性,使列的输入有效属于__________完整性,两个表的主关键字和外关键字的数据应该对应一致属于__________完整性。
简答题(共20分)

1、 在帮助中[ ,...n ] 意思是什么?(4分)

2、 请简述一下第二范式(4分)

3、 现有1销售表,它们结构如下:(4分)

id int (标识号)

codno char(7) (商品编码)

codname varchar(30) (商品名称)

spec varchar(20) (商品规格)

price numeric(10,2) (价格)

sellnum int (销售数量)

deptno char(3) (售出分店编码)

selldate datetime (销售时间)

要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。

4、写一个存储过程,要求传入一个表名,返回该表的记录数(假设传入的表在数据库中都存在)(4分)

5、请简述UPDATE 触发器如何工作原理。(4分)

简答题:(共40分)

1、(5分)使用一条SQL语句找到重复的值及重复的次数:有一数据表ZD_ks,其中有字段BM,MC,。。。,请查询出在ZD_ks中BM有重复的值及重复的次数,没有的不要列出。如下表:
BM  DUPCOUNT
001   3
002   2

2、描述(5分)

表1 student 学生信息表

ID int 学生编号

Name varchar 学生姓名

Sex bit 性别(男0女1)

Class int 班级编号

表2 schedule 课程信息表

ID int 课程编号

Name varchar 课程名称

表3 Grade 成绩信息表

ID int 自动编号

UID int 学生编号

SID int 课程编号

Num int 考试成绩

(a)求各班的总人数(1分)

(b)求1班女生和男生的平均成绩(2分)

(c)各班”数据结构”(课程名称)不及格的人数(2分)
3、问题描述:(30分)
本题用到下面三个关系表:
CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级
BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
要求实现如下15个处理:
1.找出借书超过5本的读者,输出借书卡号及所借图书册数。(2分)
2.查询借阅了”水浒”一书的读者,输出姓名及班级。(3分)
3.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。(3分)
4.查询书名包括”网络”关键词的图书,输出书号、书名、作者。(2分)
5.查询现有图书中价格最高的图书,输出书名及作者。(2分)
6.查询当前借了”计算方法”但没有借”计算方法习题集”的读者,输出其借书卡号,并按卡号降序排序输出。(4分)
7.将”C01″班同学所借图书的还期都延长一周。(2分)
8.从BOOKS表中删除当前无人借阅的图书记录。(2分)
9.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是”数据库技术及应用”,就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)。(4分)
10.建立一个视图,显示”力01″班学生的借书信息(只要求显示姓名和书名)。(3分)
11.查询当前同时借有”计算方法”和”组合数学”两本书的读者,输出其借书卡号,并按卡号升序排序输出。(3分)

Tags in this post...

面试题 相关文章推荐
Java平台和其他软件平台有什么不同
Jun 05 面试题
求网格中的黑点分布
Nov 06 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
如何在发生故障的节点上重新安装 SQL Server
Mar 14 面试题
什么是聚集索引和非聚集索引
Jan 17 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
C#如何允许一个类被继承但是避免这个类的方法被重载?
Feb 24 面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 面试题
介绍一下linux的文件权限
Feb 15 面试题
测试时代收集的软件测试面试题
Sep 25 面试题
请用Java实现列出某个目录下的所有文件
Sep 23 面试题
一套中级Java程序员笔试题
Jan 14 面试题
Android面试题附答案
Dec 08 #面试题
Android面试题及答案
Sep 04 #面试题
android面试问题与答案
Dec 27 #面试题
Android笔试题总结
Nov 29 #面试题
Android面试宝典
Aug 06 #面试题
Android interview questions
Dec 25 #面试题
c++工程师面试问题
Aug 04 #面试题
You might like
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python isinstance判断对象类型
2008/09/06 Python
Python3中的2to3转换工具使用示例
2015/06/12 Python
python散点图实例之随机漫步
2018/08/27 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
领导调研接待方案
2014/02/27 职场文书
敬老模范事迹
2014/05/21 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
先进事迹演讲稿
2014/09/01 职场文书
民主评议党员总结
2014/10/20 职场文书
返乡农民工证明
2015/06/24 职场文书