顶级 SQL Server 面试问题和答案 [For Freshers 2022]

已发表: 2021-01-04

让我们看一下基于 SQL Server 的面试中的一些常见问题。 我们还将在必要时包括 SQL 查询示例以及 SQL 面试问题和答案。

SQL Server 面试问答

问题一:什么是SQL?

SQL 或结构化查询语言是用于管理和组织关系数据库管理系统 (RDBMS) 的标准计算机编程语言。 它用于存储、操作和访问存储的数据,换句话说,与关系数据库进行通信。 大多数流行的 RDBMS 都使用 SQL,包括 SQL Server、MySQL 和 Oracle。

SQL 中的任何执行单元或语句都称为查询。 SQL 查询可用于创建、选择或修改数据。

在关系数据库管理系统中,有组织的数据文件以表格的形式存储。 每个表由列和行组成。

问题 2:在 SQL Server 中创建数据库的 SQL 查询是什么?

SQL 中的数据库是有组织的数据集合,可能由表、代码函数、模式等组成。程序员可以创建此数据库或使用各种查询语言对其进行操作。

要在 SQL 服务器中创建新数据库,请使用以下 SQL 命令:

创建数据库数据库名称

阅读:全栈面试问题

问题3:SQL中如何创建表?

表是 SQL 中允许用户存储和检索数据的对象。 此数据存储在表格中,每个表格由列和行组成。

要在 SQL 服务器中创建新表,使用以下 SQL 命令:

创建表 TableName(columnName1 数据类型,columnName2 数据类型)

问题 4:什么是 SQL Profiler?

SQL Profiler 是系统管理员跟踪 SQL 服务器中事件的一种方式。 主要用于分析捕获和保存的事件数据文件。

问题5:举例说明什么是递归存储过程。

不需要调用 SQL Server 中的递归存储过程。 它自己调用,直到达到边界条件。 存储过程的最大嵌套级别为 32。 这称为递归。

使用递归存储过程,程序员可以使用同一批次的代码 n 次。

举个例子,如果你需要扩展一个树关系或者计算阶乘算法,你可以在存储过程中使用reversion。 这是一个关于如何计算数字的阶乘的示例。

创建过程 [dbo].[Factorial_ap]

(

@数字整数,

@RetVal 整数输出

)

作为

声明 @In 整数

声明 @Out 整数

IF @Number != 1

开始

选择 @In = @Number – 1

EXEC Factorial_ap @In, @Out OUTPUT

选择 @RetVal = @Number * @Out

结尾

别的

开始

选择@RetVal = 1

结尾

返回

问题6:列出本地临时表和全局临时表的区别。

只要有连接,本地临时表的可见性就会持续。 一旦连接关闭,服务器会自动删除这些表。

本地临时表在表名前用# 表示。

创建本地临时表的语法是:

创建表 #<表名>

(

column1 数据类型 [ NULL | 非空],

column2 数据类型 [ NULL | 非空],

);

全局临时表对所有用户都是可访问和可见的。 一旦 SQL Server 会话结束,SQL Server 就会删除它们。 当每个引用表的用户都与会话断开连接时,就会发生这种情况。

本地临时表在表名前用##表示

创建全局临时表的语法是

创建表##<表名>

(

column1 数据类型 [ NULL | 非空],

column2 数据类型 [ NULL | 非空],

);

问题 7:解释 SQL 中的模式匹配?

SQL 中的模式匹配允许程序员使用下划线符号 (_) 来匹配单个字符。 它还使您能够使用百分号 (%) 来匹配任意数量的字符。 这也包括任何零字符。 应该注意的是,SQL 模式在 MySQL 中是不区分大小写的。

问题 8:什么是触发器? 触发器有多少种类型?

触发器是一种特殊的存储过程,用于检查一批 SQL 代码。 当修改表的数据时,它们会自动执行或“触发”。

有两种类型的触发器。 他们是:

  1. 数据操作语言 (DML) 和
  2. 数据定义语言 (DDL)

当这些查询中的任何一个用于修改数据时,都会触发一组命令。 使用 DML 命令事件,会触发插入、删除、更新和代替。 使用 DDL,触发器 Create、Alter 和 Drop 被触发。

另请阅读: PHP 面试问答

问题 9:定义 COALESCE?

函数参数中的第一个非空表达式使用 COALESCE 返回。 它可以读取其参数中的一列或多列以检查非空表达式。

语法是——

从员工中选择COALESCE(emp_num,emp_name,salary);

问题 10. 什么是 CDC?

SQL Server 2008 的一项功能,CDC 或变更数据捕获可用于捕获最近修改过的数据。

问题11:获取SQL表中记录数的查询有哪些?

我们可以使用以下查询获取表中的记录数:

从 <tablename> 中选择 *

从 <tablename> 中选择 count(*)

从 sysindexes 中选择 id=OB 的行

JECT_ID(tablename) 和 indid<2

问题12:说明SQL Server中SUBSTR和CHARINDEX函数的区别?

SUBSTR 函数按照程序员的指示返回字符串的指定部分。 另一方面,CHARINDEX 函数用于返回给定字符串中指定字符的位置。

例如:

SUBSTRING('苹果',1,4)

– 输出将是 Appl

CHARINDEX('l', '苹果',1)

– 输出将是 4,因为字符 l 在指定字符串中的第 4 个位置

问题13:什么是SQL注入?

SQL 注入是数据库的漏洞之一,用户使用插入代码字符串中的恶意代码攻击 SQL 服务器。 目的是发送恶意代码解析和执行。 甚至参数也有受到攻击的风险,因此,所有语句都需要检查漏洞。

问题14:有哪些方法可以避免SQL注入攻击?

可以采用以下四种方法来保护 SQL 服务器免受 SQL 注入攻击:

– 由于参数受到 SQL 注入攻击的风险较低,因此建议将它们用于存储过程。

– 过滤输入参数是一个很好的措施。

– 可以使用带有动态 SQL 的参数收集。

– 在 Like 子句中使用转义字符。

问题15:陈述SQL Server中的两种认证方式。 如何改变它们?

SQL Server 中的两种身份验证模式是:

- Windows 模式

- 混合模式

在 SQL Server 的配置设置中,在安全页面下,有一个工具菜单可以更改模式。

问题 16:SQL 数据库中有哪些不同类型的命令?

答:SQL Server 中有四种类型的命令。 它们被分类为:

  1. 数据定义语言 (DDL)
  2. 数据控制语言事务控制语言(TCL)事务控制语言(TCL)
  3. 数据操作语言 (DML)
  4. 事务控制语言 (TCL)

从世界顶级大学获得软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

我们希望我们的SQL Server 问答指南对您有所帮助。 我们将定期更新指南,让您随时了解最新情况。

如果您有兴趣了解有关 SQL、全栈开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训,9 个以上的项目,和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

成为全栈开发人员

立即申请软件工程硕士