1.基础
SQL Server是由Microsoft开发和销售的关系数据库管理系统或RDBMS。SQL Server建立于SOL之上,是一种用于关系数据交互的标准编程语言。
2.组件
SQL Server主要由数据库引擎和SQLOS两个组件组成。
①数据库引擎
SQL Server的核心组件是数据库引擎。数据库引擎由处理查询的关系引擎和管理数据库文件、页面、索引等的存储组成。数据库引擎也创建并执行数据库对象,如存储过程、视图和触发器。
②SQLOS
在关系引擎和存储引擎下是SQL Server操作系统或SQLOS。SQLOS提供许多操作系统服务,如内存和I/O管理。
3.数据查询
一、语句的查询
SELECT:演示如何针对单个表查询数据。
二、对数据进行排序
ORDER BY:根据指定列列表中的值对结果集进行排序。
三、限制返回行数
OFFSET FETCH:演示如何限制查询返回的行数。
SELECT TOP:演示如何限制查询结果集中返回的行数或行百分比。
四、过滤数据部分
DISTINCT在表的一列或多列中选择不同的值(消除相同的值)。
WHERE:根据一个或多个条件过滤查询输出中的行。
AND:组合两个布尔表达式,如果所有表达式中都true,则返回false。
OR:组合两个布尔表达式,如果其中一个条件为true,则返回false。
IN:检查值是否与列表或子查询中的任何值匹配,如果匹配则返回true。
BETWEEN:测试值是否在一系列值之间。
LIKE:检查字符串是否与指定的模式匹配。
列和表别名:显示如何使用列别名来更改查询输出和表别名标题,以提高查询的可读性。
五、连接表
连接概述:简要概述SQL Server中的连接类型,包括内连接,左连接,右连接和完全外连接。
INNER JOIN:从表中选择在另一个表中具有匹配行的行。
LEFT JOIN:返回左表中的所有行以及右表中的匹配行,如果右表没有匹配的行,则右表中的列值用NULL值。
RIGHT JOIN:学习左连接的反转版本。
FULL OUTER JOIN:如果不存在匹配的行,则返回左右表中的匹配行以及每侧的行。
CROSS JOIN:连接多个不相关的表,并在连接表中创建行的笛卡尔积。
自连接:显示如何使用自连接查询分层数据并比较同一表中的行。
六、分组数据
GROUP BY:根据指定列表达式中的值对查询结果进行分组。
HAVING:指定组或聚合的搜索条件。
GROUPING SETS:生成多个分组集合。
CUBE:生成分组集,假设输入列之间存在层次结构。
七、子查询
子查询是嵌套在另一个语句(如SELECT,INSERT,UPDATE或DELETE语句)中查询。
SQL Server中常用的子查询语句如下:
子查询:介绍子查询概念并向你展示如何使用各种子查询类型来查询数据。
相关子查询:介绍相关子查询概念以及如何使用。
EXISTS:测试子查询返回的行的存在性。
ANY:将值与子查询返回的单列值集进行比较,如果值与集合中的任何值匹配则并返回TRUE。
ALL:将值与子查询返回的单列值集进行比较,如果值与集合中的所有值匹配则并返回TRUE。
4.修改数据
用于修改数据(如插入、删除或更新)的SQL命令称为数据操作语言(DML)。
插入记录:向表中插入一行。
插入多行:使用单个INSERT语句将多行插入表中。
INSERT INTO SELECT:根据查询结果将数据插入表中。
更新记录:更新表中的现有值。
删除记录:删除表的一行或多行。
合并记录:使用单个语句执行插入,更新和删除的混合步骤。