【MSSQL面试】十道征服者踏上面试之路(mssql面试题目)
MSSQL面试可能是一件相当艰巨的任务,因为它涉及到大量地数据管理、数据操作等,必须深入了解MSSQL服务器才能得到合格的评价。因此,若要成为一名MSSQL实践专业的征服者,你必须弄清楚面试的要求,准备好以下十个关于MSSQL的问题:
1. 在MSSQL中使用Select语句时,有哪些条件是必不可少的?
Select 语句必须包含以下几个必填项:select 列表,来源表,条件,排序。例如,查询表中所有列的数据,完整的语句为:
SELECT * FROM table_name;
2. 什么是视图?
视图是虚拟表,可以用来存储select语句,用作传输数据和信息到应用程序或者报表。视图可以根据指定的条件对数据进行过滤,以便仅显示满足约束的行。
例如,创建一个名为myView的视图
CREATE VIEW myView
AS
SELECT ProductID, ProductName, UnitPrice
FROM Products
WHERE UnitPrice>25;
3. 什么是MSSQL特殊字符?
MSSQL识别特殊字符是通过用反斜线(/)标识,而不是用单引号特殊字符列表如下:
\%:代表单个字符
\_:代表单个任意字符
\[:仅对字符变量有效
4. 什么是聚合函数?
聚合函数是用于从一组值中计算统计数据的函数,包括求平均值(AVG)、总和(SUM)、最大值(MAX)、最小值(MIN)等等。例如:
SELECT SUM(UnitPrice) FROM Products;
5. 什么是WHERE子句?
WHERE 子句用于定义SELECT,UPDATE和DELETE操作语句的过滤规则,来过滤出满足既定条件的行。例如:
SELECT * FROM Products
WHERE UnitPrice>25;
6. 什么是Jion?有哪些种类?
Join可以用来在多张表中交叉抓取和显示信息。有以下几种:
①Inner Join:用于返回两个表中共有的结果行。
②Left Join:用于返回左表的所有记录,也就是完全包括左表的所有结果行。
③Right Join:用于返回右表的所有记录,也就是完全包括右表的所有结果行。
7. 什么是嵌套查询?
嵌套查询(Nested Query)也称子查询,是指在一个查询语句中嵌入另一个查询语句。例如:
SELECT * FROM Products
WHERE UnitPrice >
(SELECT AVG(UnitPrice) FROM Products);
8. 什么是索引?
索引是MSSQL服务器中用于加速数据检索的特殊结构,它可以大大减少查询中所需要的时间,从而提高数据库的性能。
例如下面的语句,创建一个名为idx_products的索引:
CREATE INDEX idx_products
ON Products(ProductName);
9. 什么是触发器?
触发器是MSSQL服务器中用于在表上执行自动操作的特殊结构,永久性存储在数据库中,为特定的表、视图或存储过程定义特殊的操作。
例如下面的语句,创建一个用于更新Products表中UnitPrice列的触发器:
CREATE TRIGGER trg_update_products
ON Products
AFTER UPDATE
AS
BEGIN
UPDATE Products
SET UnitPrice = UnitPrice + 1
WHERE ProductID = (SELECT ProductID FROM inserted);
END
10.什么是数据库角色?
数据库角色是数据库安全配置的一个重要组成部分,它定义了一组权限的集合,可以用来控制对数据库的访问。MSSQL服务器默