SQL Server笔试题(2026企业版)含答案解析_第1页
SQL Server笔试题(2026企业版)含答案解析_第2页
SQL Server笔试题(2026企业版)含答案解析_第3页
SQL Server笔试题(2026企业版)含答案解析_第4页
SQL Server笔试题(2026企业版)含答案解析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLServer笔试题(2026企业版)含答案解析题型:单选、多选、简答、SQL编程,覆盖T‑SQL语法、索引、事务、函数、性能优化,适合后端、DBA、软件测试笔试复习。一、单项选择题(15题)SQLServer主数据文件后缀是()

A.ldfB.mdfC.ndfD.tif

答案:B

解析:.mdf主数据文件;.ldf日志文件;.ndf次要数据文件。限制字段取值范围,例如工资必须大于0,使用什么约束()

A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.UNIQUE

答案:C

解析:CHECK约束用于限定列取值范围。关于DELETE与TRUNCATETABLE描述正确的是()

A.TRUNCATE会记录每一行日志

B.DELETE可以重置标识列自增种子

C.TRUNCATE速度远快于DELETE,会重置IDENTITY

D.TRUNCATE可以带WHERE条件

答案:C

解析:TRUNCATE清空整张表,最小日志记录,重置自增;DELETE逐行删除,支持WHERE,不重置自增。SQLServer事务ACID中I代表()

A.原子性B.一致性C.隔离性D.持久性

答案:C

解析:A原子、C一致、I隔离、D持久。一张表聚集索引数量最多为()

A.0B.1C.255D.无数

答案:B

解析:一张表只能有1个聚集索引,物理数据按照聚集索引排序存储。下面哪个是SQLServer窗口函数()

A.SUM()B.ROW_NUMBER()C.COUNT()D.MAX()

答案:B

解析:ROW_NUMBER、RANK、DENSE_RANK属于窗口函数;其余为普通聚合函数。WHERE与HAVING说法正确的是()

A.HAVING在分组之前过滤

B.WHERE可以使用聚合函数

C.HAVING用于GROUPBY之后过滤分组结果

D.两者完全等价

答案:C

解析:WHERE:分组前过滤行;HAVING:分组后过滤聚合结果。下列哪种写法会造成索引失效(索引建在name上)

A.wherename='张三'

B.wherenamelike'张%'

C.wherenamelike'%三'

D.wherename='李四'andage>20

答案:C

解析:通配符%放开头,无法走索引,全表扫描。UNION和UNIONALL区别,说法正确的是()

A.UNIONALL自动去重

B.UNION会去重,消耗排序开销;UNIONALL不去重,性能更高

C.两者没有区别

D.UNIONALL不能合并结果集

答案:B下面哪个不是T‑SQL自定义函数类型()

A.标量值函数B.内嵌表值函数C.多语句表值函数D.存储过程函数

答案:D

解析:三类自定义函数:标量、内嵌表值、多语句表值;存储过程不是函数。左连接LEFTJOIN,说法正确()

A.只返回两边匹配的数据

B.返回左表全部数据,右表匹配不到为NULL

C.返回右表全部数据

D.两边都不匹配才返回

答案:BSQLServer默认事务隔离级别()

A.READUNCOMMITTED

B.READCOMMITTED

C.REPEATABLEREAD

D.SERIALIZABLE

答案:B标识列IDENTITY(1,1)代表含义()

A.初始值1,每次自增1

B.主键值固定为1

C.唯一约束,默认值1

D.校验最小值1

答案:A查询中,COUNT(*)、COUNT(列名),描述正确()

A.完全一样

B.COUNT(列名)会忽略该列NULL值;COUNT(*)统计所有行包括NULL

C.COUNT(*)忽略NULL

D.COUNT(列名)统计所有行

答案:B视图的描述错误的是()

A.视图是虚拟表,不存储真实数据

B.视图可以简化复杂查询

C.视图一定可以更新底层表数据

D.视图可以做权限控制

答案:C

解析:多表连接生成的视图一般不可更新。二、多选题(5题)属于SQLServer索引类型()

A.聚集索引B.非聚集索引C.唯一索引D.全文索引

答案:ABCD事务可能出现哪些问题()

A.脏读B.不可重复读C.幻读D.死锁

答案:ABCD下面哪些属于约束()

A.PRIMARYKEYB.FOREIGNKEYC.DEFAULTD.CHECK

答案:ABCD存储过程优势()

A.减少网络传输

B.预编译执行计划,提升性能

C.可以做业务逻辑封装

D.防止SQL注入(合理使用)

答案:ABCD会导致索引失效的场景()

A.索引列做运算whereage+1=30

B.隐式类型转换

C.like'%关键词'

D.or两边字段没有同时建索引

答案:ABCD三、简答题(6道)1.聚集索引和非聚集索引区别参考答案

1.聚集索引:表物理数据按照索引排序,一张表最多1个;叶子节点就是真实数据行;范围查询性能好。

2.非聚集索引:独立B‑树结构,一张表可以多个;叶子存储聚集索引键;适合等值查询;会产生书签查找。2.什么是死锁?SQLServer如何处理死锁?参考答案

死锁:两个事务互相持有对方需要的资源,互相等待,谁都无法提交。

SQLServer自动检测死锁,选择代价小的事务作为牺牲品回滚,释放资源,另一个事务继续执行。3.什么是执行计划?作用?参考答案

执行计划是SQLServer解析T‑SQL后生成的执行步骤。

作用:分析SQL执行逻辑,定位全表扫描、隐式转换、索引失效,做SQL性能调优。4.存储过程和自定义函数区别参考答案

1.函数必须有返回值;存储过程可以无返回。

2.函数可以直接select调用;存储过程用exec执行。

3.函数内部不能使用DML修改表数据;存储过程可以做增删改、事务逻辑。

4.函数可以嵌入查询;存储过程不能嵌入select。5.OVER()窗口函数和GROUPBY区别参考答案

GROUPBY:分组聚合,会压缩行数,一组返回一行。

OVER()窗口函数:不压缩原始行数,每行附带聚合计算结果,适合排名、累计求和。6.索引是不是建得越多越好?缺点是什么?参考答案

不是。索引提升查询速度;但是增删改的时候需要维护索引,增加IO开销;占用磁盘存储空间。四、SQL编程题(高频笔试)两张表:

员工表Employee(EmpId,EmpName,DeptId,Salary)

部门表Dept(DeptId,DeptName)题目1:查询每个部门名称、部门人数、部门平均工资,没有员工的部门也要显示sql

SELECT

d.DeptName,

COUNT(e.EmpId)AS部门人数,

AVG(e.Salary)AS平均工资

FROMDeptd

LEFTJOINEmployeeeONd.DeptId=e.DeptId

GROUPBYd.DeptName;题目2:查询每个部门工资最高的员工信息(窗口函数)sql

WITHtempAS(

SELECT*,

RANK()OVER(PARTITIONBYDeptIdORDERBYSalaryDESC)ASrn

FROMEmployee

)

SELECTEmpId,EmpName,DeptId,Salary

FROMtempWHERErn=1;题目3:删除重复员工,EmpName重复,保留EmpId最小一条sql

WITHtempAS(

SELECT*,ROW_NUMBER()OVER(PARTITIONBYEmpNameORDERBYEmpId)ASrn

FROMEmployee

)

DELETEFROMtempWHERErn>1;题目4:写一个存储过程,输入部门编号,输出该部门员工总人数sql

CREATEPROCusp_GetDeptCount

@DeptIdINT,

@TotalCountINTOUTPUT

AS

BEGIN

SELECT@TotalCount=COUNT(*)FROMEmployeeWHEREDeptId=@DeptId

END

GO

--调用

DECLARE@cntINT

EXECusp_GetDeptCount@DeptId=1,@TotalCount=@cntOUTPUT

SELECT@cnt;题目5:分页查询,第3页,每页10条(SQLServer2012+)sql

SELECT*FROMEmployee

ORDERBYEmpId

OFF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论