数据库运维中心招聘笔试题及参考答案
一、单项选择
1、T-SQL 语句是由哪一家公司设计出的:(A)
AMicrosoftBIBMCSUN
2、SQL-Server 的数据库类型属于哪一类型:(A)
A 关系型数据库 B 网络型数据库 C 层次型数据库
3、要启动 SQL-Server 的服务器,在命令提示符下键入以下什么命令可以启动 SQL-Server
服务器:(B)
AnetsendBnetstartmssqlerverCnethelp
4、输入和调试 T-SQL 语句的工具是:(B)
A 企业管理器 B 查询分析器 C 服务器网络使用工具 D 联机丛书
5、创建数据库的关键字是:(B)
AdeleteBCreateCfromDtalbe
6、数据库的日志文件的扩展名是:(B)
AmdfBldfCndfDlog
7、创建表的主约束使用哪个关键字:(B)
AcheckBprimaryCforeignDrull
8、datetime 属于什么数据类型:(A)
A 日期型 B 时间型 C 字符串型 D 整数型
9、下列数据类型中不能属于 sql_variant 型的是:(C)
AvarcharBintCimageDdatetime
10、存储过程 sp_bindrule 的作用是什么:(A)
A 绑定规则 B 查看表结构 C 绑定默认值 D 查看过程
11、insert 表示的含义:(A)
A 添加 B 删除 C 查询 D 更改
12、SQL-Server 中外键约束关键字为:(C)
AprimarykeyBuniqueCforeignkeyDcheck
13、alterview 表示:(B)
A 创建视图 B 更改视图 C 检索视图 D 删除视图
14、去掉结果集中的重复值用关键字:(B)
AtopBdistinctCinDnull
15、语句“deletefrom 员工表 where 工资>2000”表示含义:(A)
A 删除工资大于 2000 的员工资料 B 添加工资>2000 的员工姓名 C 检索工资>2000 的员工姓
名 D 更改工资>2000 的员工姓名
16、与运算符<>相兼容的运算符是:(C)
A<=B>=C!=D!<
17、orderby 表示(B)
A 将记录集分组 B 将记录集排序 C 将记录集汇总 D 求平均值
18、如果用 groupby 将结果集分组后再次进行筛选,用关键字:(A)AhavingBfromCinDlike
19、avg 函数表示:(A)
A 求平均值 B 返回所有值的和 C 自定义函数 D 求最大值
20、数据表 1[FULL]JOIN 数据表 2ON 联接表达式是哪一种联接形式:(D)A 左联接 B 右联接
C 内联接 D 外联接
二、简单题
1、ETL 主要有哪些操作?答:数据提取、转换和加载。
2、在 ETL 过程中四个基本的过程分别是什么?
答:主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和
交付(delivery),简称为 ECCD。
2、SQL2005 新增 SSIS 功能,请问 SSIS 主要是实现什么?
答:SSIS 是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载(ETL)包)的
平台。
3 、 SSIS 中 可 以 有 很 多 种 的 数 据 源 , 请 列 举 出 一 些 数 据 源 。 ( 至 少 三 个 ) 答 :
SQLserver,EXCEL,XML,平面文件(txt 等)等。
4、SSIS 中如果两个字段的数据类型不一致,可不可以直接连接?如果不可以需要怎样的操
作才可以,是用哪个模块实现?
答:不可以,可以使用数据转换模块将数据转换成相同的数据类型进行处理。
三、业务题
1、已知宏观指标表:FC_MIINDEXNEW 表数据如下:指标代码指标名称级别排序上级代码
INDICCODE
INDICNAMELERNINDICCODE2
1 国内宏观经济数据 0102 行业经济数据 0303 全球宏观经济数据 0404 国民经济核算 1115 国
内生产总值:全国 2146 国内生产总值(季)
3157GDP 累计值 4168GDP 累计值:第一产业 4269GDP 累计值:第二产业 43610
GDP 累计值:第三产业
4
4
6
用 CTE 方式写出:国内宏观经济数据包括的所有指标。答案供参考:
WITHDATAAS(
SELECT*FROMFC_MIINDEXNEWWHEREINDICCODE=1UNIONALL
SELECTA.*FROMFC_MIINDEXNEWA,DATAWHEREA.INDICCODE2=DATA.INDICCODE)
SELECT*FROMDATA
2、因操作失误表 Industry_LoadCfg 中数据有多条重复记录,现需要删除重复记录,保留一
条记录。请写出相关 SQL 语句。表结构为:
流 水 号 ID 指 标 代 码 1IndicCode1 指 标 代 码 IndicCode 属 性 代 码 IndicCode2 地 区 代 码
RegionCode 行业代码 IndustryCode 单位转化数值 CUnitNum
(该表的业务主键为:IndicCode1,IndicCode,IndicCode2)
答案供参考:
DELETEFROMIndustry_LoadCfgWHEREIDIN(SELECTIDFROM(
SELECT*,row_number()over(partitionbyIndicCode,IndicCode1,IndicCode2orderbyIDasc)
asrank
fromIndustry_LoadCfg)ZWHEREZ.RANK<>1)
2、请分析下面 SQL 语句和表结构,试对表建立合理的索引,暂不考虑其他的查询。
已知公司上市公司行情表 PEQ9000,表中数据超过 500 万,现在需要从这张表中提取数据,
由于速度慢需要建立索引。请根据以下给出的 SQL 以及表的部分结构分析应如何建立索引。
(假定这个表现在没有建任何索引)表的部分结构:
列中文名列设计名列数据类型
股 票 内 码 SECodeint 交 易 日 期 TradeDateint 前 收 盘 LClosenumeric(9,4) 最 高 价
Highnumeric(9,4)最低价 Lownumeric(9,4)收盘价
TClose
numeric(9,4)
业务主键是:股票内码+交易日期 SQL 语句:
SELECTA.SECODE,A.TRADEDATE,LCLOSE,A.HIGH,A.LOWFROM(SELECTSECODE,TRADEDATE=MAX(T
RADEDATE),HIGH=MAX(HIGH),
LOW=MIN(CASEWHENLOW=0THENNULLELSELOWEND)
FROMPEQ9000WHEREDATATYPE=1
GROUPBYSECODE
)ALEFTJOINPEQ9000B
ONA.SECODE=B.SECODEANDA.TRADEDATE=B.TRADEDATE 答:(1)
CREATENONCLUSTEREDINDEX[PIX_PEQ9000_1]ON[dbo].[PEQ9000]([SECode]ASC,[TradeDate]
ASC,[DataType]ASC
)
INCLUDE([High],
[Low])WITH(SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF)O
N[PRIMARY](2)
CREATENONCLUSTEREDINDEX[PIX_PEQ9000_2]ON[dbo].[PEQ9000]([TradeDate]ASC,
[SECode]ASC,
[DataType]ASC
)
INCLUDE([LClose],[High],
[Low])WITH(SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,DROP_EXISTING=OFF,ONLINE=OFF)O
N[PRIMARY]
下面两个是数据库优化分析出来的。应该能写出上面两个就好了。
CREATESTATISTICS[PIX_PEQ9000_2]ON[dbo].[PEQ9000]([TradeDate],[DataType])CREATES
TATISTICS[PIX_PEQ9000_4]ON[dbo].[PEQ9000]([DataType],[SECode])