Sqlserver 基本面试题
一 单词解释(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 基本面试题的更多相关文章
- (C++) 基本面试题(整理)
1.new.delete.malloc.free关系 new/delete是C++的运算符.new 调用构造函数用于动态申请内存,delete调用对象的析构函数,用于释放内存. malloc与free ...
- .net基本面试题
OOP: Object Oriented Programming: 面向对象编程技术的关键性观念是它将数据及对数据的操作行为放在一起,作为一个相互依存.不可分割的整体——对象.对于相同类型的对象进行分 ...
- Sqlserver面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- python基本面试题
https://www.cnblogs.com/changwentao/p/9432166.html
- Java核心技术及面试指南 多线程部分的基本面试题总结以及答案
7.1.5 (1) 如果某个类已经继承(extends)了一个类,那么让这个类具有多线程的特性? implements runnable类或通过线程池 7.1.5 (2)启动一个线程是用run()还 ...
- mysql基本面试题
1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2. 从:io线程——在 ...
- 干货 干货 2019阿里巴巴Android40道基本面试题
找工作还是需要大家不要经常,有我们干这一行的接触人本来就不多 难免看到面试官会紧张,主要是因为怕面试官问的问题到不上来,那时候不要着急 ,答不上了的千万不然胡扯一些,直接就给面试官说这块我还没接触到, ...
- sqlserver 面试题
1. --是查询A(ID,Name)表中第11至20条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下: SELECT TOP 10 * FROM dbo.Employee WHERE E ...
- C++基本面试题1
#include<iostream>using namespace std;class A{public: A(char* s) :name(s), len(strlen(name.c_s ...
随机推荐
- 关于java继承条件下的构造方法调用
首先是测试代码: class Grandparent { public Grandparent() { System.out.println("GrandParent Created.&qu ...
- JavaWeb项目音频资源播放解决方案
一.方式1:登陆系统后进行播放,即在浏览器端 需要在JSP页面编写相关代码 <div id="midea" style="display: none;"& ...
- Linux 命令中 which、whereis、locate 命令的用法
which 命令 which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置.它一般用来确认系统中是否安装了指定的软件. (1)命令格式 which 可执行文件名称 wherei ...
- 字符流---Day32
时隔多久,我又回来写博客了,最近忙于两个课设,五周,搞得头发都不知道掉了多少根了,还没成为程序员就开始掉了,等我成为一名程序员的时候岂不是要秃头了,IT界的人会不会帮我当成大佬了,哈哈哈哈,希望我以后 ...
- 机器学习之SVM多分类
实验要求数据说明 :数据集data4train.mat是一个2*150的矩阵,代表了150个样本,每个样本具有两维特征,其类标在truelabel.mat文件中,trainning sample 图展 ...
- ubuntu13.10安装增强功能
步骤: 1>cd /mnt 2> ./VBoxLinuxAdditions.run 3>设置共享文件夹share 4>访问共享文件夹cd /media/sf_share not ...
- IDEA下的SVN设置以及TortoiseSVN安装后bin目录下没有svn.exe如何解决?
1.首先,我们要确保电脑上已经安装了TortoiseSVN. 2.打开IDEA-File-Settings-Version Control-Subversion,在右边的界面上选择TortoiseSv ...
- 名称空间using namespace std
写再最前面:摘录于柳神的笔记 虽然C++是一门面向对象语言,但是对于刷算法这件事而言,我们并不需要掌握它⾯向对象的部分-只 需要掌握刷算法的时候需要用到的部分(基本输⼊输出.STL标准模板库. str ...
- CentOS7中下载安装Multitail(让你的日志文件变得多彩)
MultiTail是干啥的? Linux系统下查看日志的一个工具,允许您监视终端中多个窗口中的日志文件和命令输出,着色,过滤和合并. 具体介绍请看官网:https://www.vanheusden.c ...
- 31 反射方式给类的属性赋值 和 对象赋值(clone)
1.配置类 package com.da.tool.util.configuration.reflect; /** */ public class JobInfo { private String j ...