数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格 (Excel) 在表中,每行代表一个唯一记录,每列代表记录中的一个字段。SQL Server使用模式对表和其他数据库对象进行逻辑分组。
查询数据,需要使用 SELECT 语句。例:
处理SELECT语句时,SQL Server先处理 FROM,然后处理 SELECT,即使SELECT首先出现在查询中也是一样。
SQL Server可以返回具有未指定行顺序的结果集。对数据进行排序的方法是使用 ORER BY 子句。
column_name | expression - 指定要对查询结果集进行排序,如果指定多个列,结果集按第一列排序,然后该排序结果集在后面。 ORDER BY 子句中出现的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。
使用 ASC 或 DESC 指定是否升序或降序排列。
ASC从最低值排序到最高值,DESC从最高值排序到最低值
则SQL Server默认使用ASC来排序顺序。
SQL Server将 NULL 视为最低值。 处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句。
SELECT TOP 用于限制查询结果集中返回的行数或行百分比。 由于存储在表中的行的顺序是不可预测的,因此 SELECT TOP 语句始终与 ORDER BY一起使用
在此语法中, SELECT 语句可以包含其他子句
expression - TOP 关键字后面是一个表达式,它指定要返回的行数。 如果使用 PERCENT ,则将 表达式计算为浮点值,否则将其转换为 BIGINT 值。
PERCENT - PERCENT 关键字指示查询返回前 N 个行百分比,其中 N 是表达式的结果。
WITH TIES - WITH TIES 用于返回更多行,其值与有限结果集中的最后一行匹配。 WITH TIES 可能会导致返回的行数多于表达式中指定的行数。
SQL Server Offset Fetch子句 OFFSET 和 FETCH 子句是 ORDER BY 子句的选项。
它们用于限制查询返回的行数。必须将 OFFSET 和 FETCH 子句与 ORDER BY 子句一起使用
以下是 OFFSET 和 FETCH 子句的语法:
在上面语法中,
OFFSET 子句指定在开始从查询返回行之前要0跳过的行数。
offset_row_count 可以是大于或等于零的常量,变量或参数。
FETCH 子句指定在处理 OFFSET 子句后要返回的行数。
offset_row_count 可以是大于或等于 1 的常量,变量或标量。
OFFSET 子句是必需的,而 FETCH 子句是可选的。 此外, FIRST 和 NEXT 是同义词,因此可以互换使用它们。