1、查询数据。
数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格 (Excel)在表中,每行代表一个唯一记录,每列代表记录中的一个字段。 例如, course表包含课程数据,如课程标识号,名称,老师的编号,如下所示:
SQL Server使用模式对表和其他数据库对象进行逻辑分组。 在[示例数据库])(dbo.teacher )中,有两个模式: tno和 cno。 tno模式将所有与教师相关的表分组,而tno模式将所有与 课程关的表分组。 要从表中查询数据,请使用 SELECT 语句。
以下是 SELECT 语句的最基本形式:
Select 字段1,字段二……
from table
2、对数据进行排序
使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未指定行顺序的结果集。保证结果集中的行已排序的方法是使用 ORER BY 子句。 以下是 ORDER BY 子句的语法:
在上面语法中Course.cno 指定要对查询结果集进行排序的列名。 如果指定多个列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。
ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果 从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。
处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句
A:按升序对结果集进行排序 【默认就是升序】
B:按降序对结果集按——列排序
C:按多列对结果集进行排序 【它会首先按课程 course.cno 编号对课程表进行排序,然后按course.cno 外键教师编号 排序】
D:按多列和不同顺序对结果集进行排序 【按第一个字段升序 对课程进行排序,之后再接着下一个字段按降序对排序结果进行排序】
E:按不在选择列表中的列对结果集进行排序,【 course.cno 字段要在course 表中定义,否则无效】可以通过选择列表中未显示的列对结果集进行排序,course.cno 对课程进行排序,即使 course.cno 列未显示在选择列表中
F:按表达式对结果集进行排序。LEN() 函数返回字符串的字符数。 以下语句使用 ORDER BY 子句中的 LEN() 函数来检索按名字长度排序课程列表。
G:按列的序数位置排序。SQL Server允许根据选择列表中显示的列的序号位置对结果集进行排序。 以下语句按名字和姓氏对客户进行排序。 但是它没有显式指定列名,而是使用列的序号位置: