好文档 - 专业文书写作范文服务资料分享网站

(完整版)数据库工程师面试题514

天下 分享 时间: 加入收藏 我要投稿 点赞

数据库工程师面试题 Lyven SQL数据库开发

5月14日

(点击上方蓝色字,可快速关注我们哦 ) 选择题:(每空2分共18分)

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语句的完整语法较复杂,但至少包括的部分( 如果在SELECT语句中使用聚合函数时,一定在后面使用( 4_)。 ⑴ A、 SELEC,T INTO C、 SELEC,T GROUP ⑵ A、 DISTINCT

C、 ALL ⑶ A、 JOIN C、 INTO

⑷ A、 GROUP BY

1___),使

用关键字(2___)可以把重复行屏蔽, 将多个查询结果返回一个结果集合的运算符是 ( 3___) ,

B、 SELEC,T FROM D、仅 SELECT

B、 UNION

C、 TOP B、 UNION C、 LIKE

B、 COMPUTE BY

D、 COMPUTE

C、 HAVING

5、语句 DBCC SHRINKDATABASE (Sample, 2中5的) 25 表示的意思是 A、 25M

B、 剩余占整个空间的 25% C、 已用空间占整个空间的 25% D、 以上都不对

6、你是一个保险公司的数据库开发人员, 公司的保单信息存储在 SQL Server 2000数据库中, 你使用以下脚本建立了一个名为 CREATE TABLE Policy

(

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 UPDAT触发器来产生一个新的保单号,并将这个保单号插入数据表 中。 C.建立一个AFTER UPDAT触发器来产生一个新的保单号,并将这个保单号插入数据表中。 d.用AFTERUPDATE触发器替代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)

另外建立了一个脚本执行这个存储过程, 如果执行成功, 将返回对应于书名的每天的销售情 况的报表,如果执行失败,将返回“ A. DECLARE @retval int DECLARE @ytd int

EXEC get_sales_for_title ‘Net Etiquette ', @ytd IF @retval < 0

PRINT ‘ No sales found' ELSE

PRINT ‘ Year to date sales: ' + STR (@ytd)

No Sales Found',怎样建立这个脚本?

对特定的书名的每天的销售情况建立了如下的存

GO

B . DECLARE @retval int DECLARE @ytd int

EXEC get_sales_for_title ‘Net Etiquette ', @ytd OUTPUT IF @retval < 0

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 < 0

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 < 0

PRINT ‘ No sales found' ELSE

PRINT ‘ Year to date sales: ' + STR (@ytd) GO

简答题:(共4 0分)

1、(5分)使用一条 SQL语句找到重复的值及重复的次数:有一数据表

ZD_ks,其中有字段

BM, MC等,请查询出在ZD_ks中BM有重复的值及重复的次数, 没有的不要列出。如下表: BM DUPCOUNT 001 002

3 2

2、描述 (5 分) 表 1 student 学生信息表 ID

int

学生编号

varchar 学生姓名 Name

Sex bit 性别 (男 0

女 班级编号 Class int

表 2 schedule 课程信息表

ID Name

int

课程编号

varchar 课程名称 成绩信息表

自动编号 学生编号 课程编号 考试成绩

表 3 Grade ID UID

int int

SID int Num int

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

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

(c) 各班”数据结构\(课程名称)不及格的人数(2分) 3、问题描述:(30分) 本题用到下面三个关系表: CARD 库 存册数

BORROW 借书记录。 CNO 借书卡号, BNO 书号, RDATE 还书日期 备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 要求实现如下 15 个处理:

1 .找出借书超过 5 本的读者 ,输出借书卡号及所借图书册数。 (2 分) 2.查询借阅了 \水浒\一书的读者,输出姓名及班级。 (3分) 3.查询过期未还图书,输出借阅者(卡号) 、书号及还书日期。 (3分)

4.查询书名包括 \网络\关键词的图书,输出书号、书名、作者。 5.查询现有图书中价格最高的图书,输出书名及作者。 序排序输出。 (4 分)

7 ?将\班同学所借图书的还期都延长一周。 (2分) 8 .从BOOKS表中删除当前无人借阅的图书记录。 9.

表上建立一个触发器,完成如下功能:如果读者借阅的书名是 BORROW表) o (4 分)

10. 建立一个视图,显示 \力 01\班学生的借书信息(只要求显示姓名和书名) 。 (3 分) 11. 查询当前同时借有 \计算方法 \和\组合数学 \两本书的读者,输出其借书卡号,并按卡 号升序排序输出。(3分) 答案 (仅供) 选择题 1、 D 5、 B &A

2、E 6、A 9、D

3、A 7、B

4、 ⑴B,⑵A,⑶B,⑷A

(2分)

在BORROW”数据库技术

(2 分)

(2 分)

借书卡。

CNO 卡号, NAME 姓名, CLASS 班级

BNO 书号, BNAME 书名 ,AUTHOR 作者, PRICE 单价, QUANTITY

BOOKS 图书。

6.查询当前借了 \计算方法 \但没有借 \计算方法习题集 \的读者,输出其借书卡号,并按卡 号降

及应用”,就将该读者的借阅记录保存在 BORROW_SAVE表中(注 ORROW_SAVE表结构同

简答题 1、

create table ZD_ks(BM varchar(10),mc varchar(10),age int) insert into ZD_ks(bm,mc,age) values('001',' 张三 ',1) insert into ZD_ks(bm,mc,age) values('001',' 李四 ',2) insert into

ZD_ks(bm,mc,age) values('001',' 王五 ',3) insert into ZD_ks(bm,mc,age) values('002',' 赵六 ',1) insert into ZD_ks(bm,mc,age) values('002',' 钱七 ',2) insert into ZD_ks(bm,mc,age) values('003',' 孙八 ',1) go

select BM,count(*) as DUPCOUNT from zd_ks group by bm having count(*) > 1 drop table zd_ks 2、

(1) select Class,count(1) as num from student group by Class (2)

select S.Sex,avg(G.Num) as Num from student S,Grade G where S.ID=G.ID and S.Class=1 group by S.Sex (3)

select S.Class,count(1) as num from student S,Grade G,schedule SC

where S.ID=G.ID and G.SID =Sc.lD and SC.Name数据结构’and Sc.Num<60 group by S.Class

3、

1. 找出借书超过 5 本的读者 , 输出借书卡号及所借图书册数 --实现代码: SELECT CN借图书册数=COUNT(*) FROM BORROW GROUP BY CNO HAVING COUNT(*)>5

2. 查询借阅了 \水浒 \一书的读者,输出姓名及班级 --实现代码:

SELECT * FROM CARD c WHERE EXISTS(

SELECT * FROM BORROW a,BOOKS b WHERE a.BNO=b.BNO

AND b.BNAME=N水浒' AND a.CNO=c.CNO)

3. 查询过期未还图书,输出借阅者(卡号) 、书号及还书日期 --实现代码:

SELECT * FROM BORROW

WHERE RDATE

4. 查询书名包括 \网络 \关键词的图书,输出书号、书名、作者

(完整版)数据库工程师面试题514

数据库工程师面试题LyvenSQL数据库开发5月14日(点击上方蓝色字,可快速关注我们哦)选择题:(每空2分共18分)1、在MSSQLServer中,用来显示数据库信息的系统存储过程是(Asp_dbhelpBsp_dbCsp_helpDsp_helpdb2、SQL语言中,删除一个表的命令是
推荐度:
点击下载文档文档为doc格式
8z9cn39yo73qhtz4wh2h1h1yk7phhy00skt
领取福利

微信扫码领取福利

微信扫码分享