一、 SQL Server基本操作(操纵数据库),DML语句引导词。
- 数据增加(INSERT)
- 数据删除(DELETE)
- 数据修改(UPDATE)
- 数据查询(SELECT)
1. 各种方式的更新与检索操作。
2. 各种复杂条件的检索。如连接查找、模糊查找、分组查找、嵌套查找等。
3. 各种聚集操作。包括求平均、求和等,也包括分组聚集、分组过滤等。
4. 数据库的基本操作指令:增、改、删、查 四个,其中最为复杂的是查(查询)。
二、 数据查询(SELECT)。
1. 要从表中查询数据,使用 SELECT 语句。以下是 SELECT 语句的最基本形式:
语法:SELECT 列名1,列名2,... FROM 表名;
- 列名指定要在 SELECT 子句中查询数据的逗号分隔列的列表。
- 处理SELECT语句时,SQL Server首先处理 FROM 子句,然后处理 SELECT 子句,即使SELECT 子句首先出现在查询中也是一样。
- 最简单的单表查询,查询所有列(*代表所有列):SELECT * FROM 表名;
2. 对数据进行排序。
语法:SELECT 列名1,... FROM 表名 ORDER BY 排序列名 [ASC | DESC];
- ORDER BY 后面的排序列名是指要对查询结果集进行排序的列名或表达式。
- 如果指定多个列用“,(逗号)”隔开,结果集先按第一列排序,然后该排序结果集再按第 二列排序,依此类推。
- ORDER BY子句中出现的列必须对应于选择列表中的列或FROM子句中指定的表中定义的列。
- [ASC | DESC]使用ASC或DESC指定是否应按升序或降序对指定列中的值进行排序。
- ASC 将结果。从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未 明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server 将 NULL 视为最低值。
- 处理具有 ORDER BY 子句的 SELECT 语句时,ORDER BY子句是要处理的最后一个子句。
3. 限制返回行数Select Top语句。
语法:SELECT TOP 返回行数 [PERCENT] [WITH TIES] FROM 表名 ORDER BY 排序列名;
- TOP关键字后面是一个表达式,它指定要返回的行数。如果使用 PERCENT,则将表达式计 算为浮点值,否则将其转换为BIGINT值。
- PERCENT 关键字指示查询返回前 N 个行百分比,其中 N 是表达式的结果。
- WITH TIES 用于返回更多行,其值与有限结果集中的最后一行匹配。请注意,WITH TIES 可能会导致返回的行数多于在表达式中指定的行数。
4. 限制返回行数Offset Fetch子句。
语法:SELECT 列名1,... FROM 表名 ORDER BY 排序列名 [ASC | DESC]
OFFSET offset_row_count {ROW | ROWS}
FETCH {FIRST | NEXT} fetch_row_count {ROW | ROWS} ONLY;
- OFFSET 子句指定在开始从查询返回行之前要跳过的行数。offset_row_count 可以是大于 或等于零的常量,变量或参数。
- FETCH 子句指定在处理 OFFSET 子句后要返回的行数。offset_row_count 可以是大于或 等于 1 的常量,变量或标量。
- OFFSET 子句是必需的,而 FETCH 子句是可选的。此外,FIRST 和 NEXT 是同义词,因此 可以互换使用它们。
5. 过滤数据Select Distinct子句。
语法:SELECT DISTINCT 列名1,列名2,... FROM 表名;
- SELECT DISTINCT 子句检索指定列列表中的唯一不同值,换句话说,它从结果集中删除列 中的重复值。
- DISTINCT 子句将所有 NULL 值视为相同的值。
- 数据增加(INSERT)
- 数据删除(DELETE)
- 数据修改(UPDATE)
- 数据查询(SELECT)
1. 各种方式的更新与检索操作。
2. 各种复杂条件的检索。如连接查找、模糊查找、分组查找、嵌套查找等。
3. 各种聚集操作。包括求平均、求和等,也包括分组聚集、分组过滤等。
4. 数据库的基本操作指令:增、改、删、查 四个,其中最为复杂的是查(查询)。
二、 数据查询(SELECT)。
1. 要从表中查询数据,使用 SELECT 语句。以下是 SELECT 语句的最基本形式:
语法:SELECT 列名1,列名2,... FROM 表名;
- 列名指定要在 SELECT 子句中查询数据的逗号分隔列的列表。
- 处理SELECT语句时,SQL Server首先处理 FROM 子句,然后处理 SELECT 子句,即使SELECT 子句首先出现在查询中也是一样。
- 最简单的单表查询,查询所有列(*代表所有列):SELECT * FROM 表名;
2. 对数据进行排序。
语法:SELECT 列名1,... FROM 表名 ORDER BY 排序列名 [ASC | DESC];
- ORDER BY 后面的排序列名是指要对查询结果集进行排序的列名或表达式。
- 如果指定多个列用“,(逗号)”隔开,结果集先按第一列排序,然后该排序结果集再按第 二列排序,依此类推。
- ORDER BY子句中出现的列必须对应于选择列表中的列或FROM子句中指定的表中定义的列。
- [ASC | DESC]使用ASC或DESC指定是否应按升序或降序对指定列中的值进行排序。
- ASC 将结果。从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未 明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server 将 NULL 视为最低值。
- 处理具有 ORDER BY 子句的 SELECT 语句时,ORDER BY子句是要处理的最后一个子句。
3. 限制返回行数Select Top语句。
语法:SELECT TOP 返回行数 [PERCENT] [WITH TIES] FROM 表名 ORDER BY 排序列名;
- TOP关键字后面是一个表达式,它指定要返回的行数。如果使用 PERCENT,则将表达式计 算为浮点值,否则将其转换为BIGINT值。
- PERCENT 关键字指示查询返回前 N 个行百分比,其中 N 是表达式的结果。
- WITH TIES 用于返回更多行,其值与有限结果集中的最后一行匹配。请注意,WITH TIES 可能会导致返回的行数多于在表达式中指定的行数。
4. 限制返回行数Offset Fetch子句。
语法:SELECT 列名1,... FROM 表名 ORDER BY 排序列名 [ASC | DESC]
OFFSET offset_row_count {ROW | ROWS}
FETCH {FIRST | NEXT} fetch_row_count {ROW | ROWS} ONLY;
- OFFSET 子句指定在开始从查询返回行之前要跳过的行数。offset_row_count 可以是大于 或等于零的常量,变量或参数。
- FETCH 子句指定在处理 OFFSET 子句后要返回的行数。offset_row_count 可以是大于或 等于 1 的常量,变量或标量。
- OFFSET 子句是必需的,而 FETCH 子句是可选的。此外,FIRST 和 NEXT 是同义词,因此 可以互换使用它们。
5. 过滤数据Select Distinct子句。
语法:SELECT DISTINCT 列名1,列名2,... FROM 表名;
- SELECT DISTINCT 子句检索指定列列表中的唯一不同值,换句话说,它从结果集中删除列 中的重复值。
- DISTINCT 子句将所有 NULL 值视为相同的值。