- 1
- 0
- 约5.15千字
- 约 9页
- 2026-08-24 发布于河北
- 举报
SQLServer面试题及详细答案(实战完整版)
一、基础语法类(入门必考)
1、SQLServer中char、varchar、nvarchar的区别?
答案:
char(n):固定长度字符类型。定义长度后,无论实际存储多少字符,都会占用n个字节,剩余空间自动补空格。查询效率高,适合存储长度固定的数据,比如手机号、身份证号、性别。最大长度8000字符。
varchar(n):可变长度非Unicode字符类型。实际占用空间为真实字符长度,不补空格,节省存储空间。只能存储英文、数字、半角符号,存储中文会乱码。最大长度8000字符。
nvarchar(n):可变长度Unicode字符类型。所有字符(中文、英文、符号)统一占用2个字节,不会出现乱码,是项目中最常用的字符串类型。最大存储4000字符,可使用nvarchar(max)存储超大文本。
2、DISTINCT的作用及使用注意事项?
答案:
作用:去除查询结果集中的重复数据,只保留唯一数据。
注意事项:
DISTINCT作用于所有查询列,不是单独某一列,多列查询时,只有所有列数据完全一致才会判定为重复。
执行效率较低,底层会进行排序去重,大数据量场景尽量少用,可通过唯一索引、分组查询替代。
不支持对索引字段随意去重,会失效索引查询。
3、WHERE和HAVING的区别?
答案:
执行顺序不同:WHERE在分组
原创力文档

文档评论(0)