一 单词解释(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 年龄<22 and 学历=’大专’

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

Select top 25 percent * 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 Transction

提交事务:commit Transction

回滚事务:rollback Transction

四 问答题(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 表名1 inner join 表名2 on 条件表达式

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语句影响的行的副本

Sqlserver 基本面试题的更多相关文章

  1. (C++) 基本面试题(整理)

    1.new.delete.malloc.free关系 new/delete是C++的运算符.new 调用构造函数用于动态申请内存,delete调用对象的析构函数,用于释放内存. malloc与free ...

  2. .net基本面试题

    OOP: Object Oriented Programming: 面向对象编程技术的关键性观念是它将数据及对数据的操作行为放在一起,作为一个相互依存.不可分割的整体——对象.对于相同类型的对象进行分 ...

  3. Sqlserver面试题

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文   ...

  4. python基本面试题

    https://www.cnblogs.com/changwentao/p/9432166.html

  5. Java核心技术及面试指南 多线程部分的基本面试题总结以及答案

    7.1.5 (1) 如果某个类已经继承(extends)了一个类,那么让这个类具有多线程的特性? implements runnable类或通过线程池 7.1.5  (2)启动一个线程是用run()还 ...

  6. mysql基本面试题

    1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2. 从:io线程——在 ...

  7. 干货 干货 2019阿里巴巴Android40道基本面试题

    找工作还是需要大家不要经常,有我们干这一行的接触人本来就不多 难免看到面试官会紧张,主要是因为怕面试官问的问题到不上来,那时候不要着急 ,答不上了的千万不然胡扯一些,直接就给面试官说这块我还没接触到, ...

  8. sqlserver 面试题

    1. --是查询A(ID,Name)表中第11至20条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下: SELECT TOP 10 * FROM dbo.Employee WHERE E ...

  9. C++基本面试题1

    #include<iostream>using namespace std;class A{public: A(char* s) :name(s), len(strlen(name.c_s ...

随机推荐

  1. 转专业后对于C语言补修的一些体会(1)

    在转入软件工程后,原来的C语言程序设计只有三学分,而信息学院的C语言程序设计有四学分.迫于无奈的我只能再补修一遍C语言,自我认为大一对于C语言的学习已经基本足够,但我发现信息学院用的是不一样的书后,对 ...

  2. 【SSM 】导出excel含图片

    ExprotRentUtils package com.kikyo.stat.utils; import java.awt.image.BufferedImage; import java.io.By ...

  3. 十四、制作优美的div弹框

    功能描述:确认[调整按钮]弹出精美div弹框 1.jsp页面:perfectAlertDiv.jsp <%@ page contentType="text/html;charset=U ...

  4. 「CF197B Limit」

    题目撞名 题目大意: 给出两个函数 \(P(x),Q(x)\). \(P(x)=a_0 \times x^N+a_1 \times x^{N-1}+a_2 \times x^{N-2} \cdots ...

  5. Nginx常用模块及作用

    Nginx模块详解 nginx模块分为两种,官方和第三方,我们通过命令 nginx -V 查看 nginx已经安装的模块! [root@localhost ~]# nginx -V nginx ver ...

  6. 使用IDEA导入一个Maven风格的SSM项目

    转自: 方法一: (我用的这种,导入的方法 File->New->Project from existing sources)(同理,important也是一样的) https://how ...

  7. vue学习笔记:数据渲染操作

    {{xxx}} 基本的插值表达式 插值表达式 使用两个大括号 {{ data中定义的数据名 }} 可以将数据插入到指定的位置 这种写法不仅可以显示data属性里定义的值,也可以书写js中的表达式,可以 ...

  8. mysql 连接数据库时时区报错

    1.url: jdbc:mysql://192.168.0.101:3306/testdb?serverTimezone=UTC,在连接字符后面添加时区设置 2.使用navicat或者直接使用mysq ...

  9. python3报:ImportError: No module named 'MySQLdb'

    问题描述: 项目在转到python3.6时,原先的导入MySQLdb模块都提示无法导入,pip install mysqldb也安装失败. 问题原因: python2和python3在数据库模块支持这 ...

  10. github设置分支push权限

    1. 管理员身份登录GitHub,找到项目2. Settings-->Branches-->Protected branches--->Choose a branch... ,选择需 ...