查询和排序
(1)、查询数据;数据库表是存储数据库中所有数据的对象,在表中,数据按行和列格式逻辑组织,类似于电子表格(Excel)在表中,每行代表一个唯一记录,每列代表记录中的一个字段。
在SQL Server使用模式对表和其他数据库对象进行逻辑分组。
要从表中查询数据,请使用SELECT语句
在上面语法中,首先,student.sname指定要在SELECT子句中查询数据的逗号分离列的列表,其次,student是在FROM子句中指定源表及其模式名称。在处理SELECT语句时,SQL Server首先处理FROM子句,然后处理SELECT子句,即使SELECT子句首先出现在查询中也是一样。
(2)、对数据进行排序
使用SELECT语句从表中查询数据时,不保证结果集中的行顺序,这意味着SQL Server可以返回具有未进行指定顺序的结果集中。保证结果集中的行已排序的方法是使用ORER BY子句
在上面语法中,column_name | expression - 指定要对查询结果集进行排序的列名或表达式。 如果指定多个列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现 的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。
ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果 从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。在处理具有ORDER BY子句的SELECT语句时,ORDER BY子句是要处理的最后一个子句。
①、按升序对结果集中进行排序
②、按降序对结果集中按一列排序
③、按多列对结果集中进行排序
④、按多列和不同顺序对结果集中进行排序
⑤、按不在选择列表中的列对结果进行排序,请注意,state列在customers表中定义。如果不是,那么查询将无效。可以通过选择列表中显示的列结果集中进行排序
⑥、按表达式对结果集中进行排序,LEN()函数返回字符串的字符数
⑦、按列的序数位置排序
SQL Server允许根据选择列表中显示的列的序号位置对结果集中进行排序