SQL_面试笔试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一单词解释(2分/个)34分

Data数据Database数据库RDBMS关系数据库管理系统GRANT授权

REVOKE取消权限DENY拒绝权限DECLARE定义变量PROCEDURE存储过程

事务Transaction触发器TRIGGER继续continue唯一unqiue

主键primary key标识列identity外键foreign key检查check

约束constraint

二编写SQL语句(5分/题)50分(包含笔试题问题和解答答案)

1)创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话

Create table stu(学号int,

姓名varchar(8),

年龄int,

性别varchar(4),

家庭地址varchar(50),

联系电话int

);

2)修改学生表的结构,添加一列信息,学历

Alter table stu add学历varchar(6);

3)修改学生表的结构,删除一列信息,家庭住址

Alter table stu drop column家庭地址

4)向学生表添加如下信息:

学号姓名年龄性别联系电话学历

1A22男123456小学

2B21男119中学

3C23男110高中

4D18女114大学

Insert into stu values(1,’A’,22,’男’,123456,’小学’)

Insert into stu values(2,’B’,21,’男’,119,’中学’)

Insert into stu values(3,’C’,23,’男’,110,’高中’)

Insert into stu values(4,’D’,18,’女’,114,’大学’)

5)修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”

Update stu set学历=’大专’where联系电话like‘11%’

6)删除学生表的数据,姓名以C开头,性别为‘男’的记录删除

Delect from stu where性别=’男’and姓名like‘c%’

7)查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来Select姓名,学号from stu where年龄<22and学历=’大专’

8)查询学生表的数据,查询所有信息,列出前25%的记录

Select top25percent*from stu

9)查询出所有学生的姓名,性别,年龄降序排列

Select姓名,性别from stu order by年龄desc

10)按照性别分组查询所有的平均年龄

Select avg(年龄)from stu group by性别

三填空(3分/题)36分(包含笔试题问题和解答答案)

1)索引分为__聚集索引___和__非聚集索引__在一张表上最多可以创建1个聚集索引_索引。但是可以创建_249个非聚集索引索引。

2)系统存储过程_sp-helptext__是用来显示规则,默认值,未加密的存储过程,用户定义函数,触发或视图的文本

3)事务开始:Begin Transaction

提交事务:Commit Transaction

回滚事务:Rollback Transaction

四问答题(5分/题)60分(包含笔试题问题和解答答案)

1)数据库包含哪些那几种后缀名的文件必须,这些文件分别存放在什么的信息?

主要数据文件(.mdf)包含数据用户收集的信息,还有数据库其他相关的信息,

日志数据文件(.ndf)存放用户对数据库的增删改查的信息,用于备份恢复使用

2)TRUNCATE TABLE命令是什么含义?和Delete from表名有什么区?

TRUNCATE TABLE:提供了一种删除表中所有记录的快速方法

Delete from表名:可以删除表的一个或多条记录

3)说出以下聚合数的含义:avg,sum,max,min,count,count(*)

AVG:求平均值

SUM:求和

MAX:求最大值

MIN:求最小值

COUNT(*):返回所有行数

COUNT返回满足指定条件的记录值

4)inner join是什么意思?作用是什么?写出基本语法结构

INNER JOIN内联接,用于返回两个表中要查询的列数据通信

Select*from表名1inner join表名2on条件表达式

5)左向外联接,右向外联接,全联接的关健字如何写?

Left outer join左向外联接

Right outer join右向外联接

Full outer join全联接

6)子查询分为几类,说明相互之间的别

了查询分三种基本子查询: 1.使用in查询返回一列或更多值

2.比较运算符,返回单个值勤做为外查询的参数

3.用exists查询时相当于进行一次数据测试

7)实现实体完整性,实现域完整性,实现完整性(引用完整性),实现自定义完整性分别使用什么手段?实现实体完整性:主键约束唯一约束标识列

实现域完整性:默认值约束检查约束非空属性

引和完整性:外键引用

8)视图可以更新吗?会影响到实际表吗?

视图是可以更新的,视图只是基于基本表上的虚拟表,对视图的更新会直接影响到实际表

9)谈谈这样几个角色,dbo,Sysadmin public

Dbo:是数据库的拥有者,对数据库拥有所有操作的权限

Sysadmin:可以对SQL SERVER执行任何活动

Public:自动创建的,能捕获数据库中用户的所有默认权限

10)何为动态游标?何为静态游标?

动态游标与静态游标相对,反映结果集中所做的所有更改,

静态游标的结果集在游标打开时,建立在tempdb中,总按照游标打开时的原样显示

11)什么是存储过程?为什么存储过程要比单纯的Sql语句执行起来要快?

存储过程:是一组预先编译好的T-SQL代码

在创建存储过程时经过了语法和性能优化,执行不必重复的步骤,使用存储过程可提高运行效率

12)什么是Inserted表?什么是Deleted表?

Inserted表用于存储inserted和update语句影响的副本

Deleted表用于存储delect和update语句影响的行的副本

相关文档
最新文档