高频sql面试问题

SQL(结构化查询语言)是一种设计用于检索和操作数据的数据库。它是美国国家标准协会(ANSI)的标准。这种语言用于执行数据任务,如选择、更新、删除和插入。

表是在具有列和行的模型中设计的数据集合。在一个表中,列数是指定的,称为字段,但行数没有定义,称为记录。

数据库是用于访问、存储和检索数据的有序信息集。

DBMS是一个控制数据维护和使用的程序。它被认为是管理数据的文件管理器。有四种类型的DBMS:

最有用的数据库管理系统是关系数据库管理系统。它为数据提供了一个关系运算符。

SQL命令分为以下几种类型:

它包含一个或多个表中的行和列,可以定义为虚拟表。它消耗更少的内存。

语法:

Join用于从相关的行和列中检索数据。它在两个或多个表之间工作,并且从两个表中至少返回一个匹配。

连接类型是:

数据库查询是数据库表中的数据请求。该查询可以是选择查询或任何其他类型的查询。

子查询是查询的一部分。外部查询知道主查询,内部查询识别子查询。总是先执行子查询,然后将结果传递给主查询。

Autoincrement是一个关键字,用于在向表中插入新记录时生成数字。

它可用于设置表中数据类型的限制。创建或更新表语句时可以使用约束。一些限制是:

SQL中有不同类型的键:

规范化是一种以减少数据依赖性的方式排列表的设计技术。它将表格分成小模块,并根据关系将它们链接起来。

非规范化是一种优化方法。我们将冗余数据添加到表中,并在规范化后应用它。

存储过程是一组SQL语句,用作访问数据库的函数。为了减少网络流量和提高性能,我们使用存储过程。

语法:

索引用于提高查询的性能。它可以更快地从表中检索数据。您可以在一组列上创建索引。

聚集索引——它有助于轻松地检索数据,一个表只分配一个聚集索引。它改变了记录在数据库中的保存方式。

非聚集索引-非聚集索引比聚集索引慢。在非聚集索引的情况下,表可以有多个索引。它为表创建一个对象,这个对象是一个在搜索后指向表的点。

触发器用于对表执行特定的操作,如插入、更新或删除。它是一个存储过程。动作和事件是触发器的主要组成部分。执行操作时,会出现一个事件来响应该操作。

通常,这些属性被称为ACID。它们促进了数据库事务。

在一个事务中连接两个或多个独立的数据块,或者所有的数据块都是专用的,或者都不是。

一致性——如果出现任何令人失望的情况,事务要么生成一个新的有效数据状态,要么在事务开始之前将所有数据返回到其状态。

I solution-正在进行但尚未提交的事务必须继续与任何其他操作隔离。

可维护性——在这个操作中,系统保存提交的数据,每次事件失败并且系统启动时,所有的数据都在正确的位置。

SQL语句分为几类:

它被定义为通过为查询提供条件来设置结果集的限制。他们从整张唱片中滤掉了几行。

一些SQL子句是WHERE和HAVING。

这是一个返回单个值的数学函数。

SQL中的聚合函数有:

为了操作字符串,我们使用字符串函数。其中一些是:

排序规则是一组通过比较确定数据排序方式的规则。例如,使用一组规则存储字符数据,这些规则定义了正确字符的顺序以及类型、重音和大小写。

在系统内存中执行SQL语句时,会创建一个名为Cursor的临时工作区。在select语句中,游标存储信息。游标可以使用多行,但一次只能处理一行。这组行称为活动集。

有两种类型的光标:

SQL server是Microsoft关系数据库管理系统(RDBMS)的一种类型或示例。它在IT环境中提供了广泛的事务处理和商业智能。

运算符是一个保留字,主要用在SQL语句的WHERE子句中进行运算。

空值是没有值的字段。和零不一样。假设您有一个表,并且表中有一个字段。您可以在不添加值的情况下向字段中插入记录,然后该字段将以空值保存。

空白是我们提供的价值。

零只是一个数字。

数据仓库被称为来自多个信息源的中央数据中心。这些数据可以用于在线处理和挖掘。

在表中,应该只有一个主键,但在另一种情况下,可以有任意数量的唯一键。

主键不允许空值,但唯一键允许。