1. SQL Server是什么?

(1)SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库之一;

(2)SQL Server 是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求;

(3)SQL Server 1.0 在1989年发布,至今 SQL Server 已成为一个真正的企业信息化平台。 

  1. 查询数据

数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格(Excel)

在表中,每行代表一个唯一记录,每列代表记录中的一个字段。 例如, customers 表包含客户数据,如 客户标识号,名字,姓氏,电话,电子邮件和地址信息。

SQL Server使用模式对表和其他数据库对象进行逻辑分组。在[示例数据库])( bk_stores )中,有两个模式: sales 和 production 。 sales 模式将所有与销售相关的表分组,而 production 模式将所有与生产相关的表分组。

要从表中查询数据,请使用SELECT语句。如下图示:

sql server数据规范 sql server?_结果集

  1. 对数据进行排序(升序/降序)

保证结果集中的行已排序的方法是使用ORDER BY子句

  1. 升序:ASC(ASC 将结果从最低值排序到最高值)

sql server数据规范 sql server?_sql server数据规范_02

  1. 降序:DESC(DESC 将结果集从最高值排序到最低值)

sql server数据规范 sql server?_结果集_03

如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。

  1. 按多列对结果集进行排序

sql server数据规范 sql server?_结果集_04

  1. 按多列和不同顺序对结果集进行排序 

sql server数据规范 sql server?_Server_05

  1. 按不在选择列表中的列对结果集进行排序,请注意, state 列在 customers 表中定义。 如果不是, 那么查询将无效。可以通过选择列表中未显示的列对结果集进行排序。

sql server数据规范 sql server?_SQL_06

  1. 按表达式对结果集进行排序

LEN() 函数返回字符串的字符数。 以下语句使用 ORDER BY 子句中的 LEN() 函数来检索按名字长度排序客户列表。

sql server数据规范 sql server?_结果集_07

  1. 按列的序数位置排序

SQL Server允许根据选择列表中显示的列的序号位置对结果集进行排序。

以下语句按名字和姓氏对客户进行排序。但是它没有显式指定列名,而是使用列的序号位置:

sql server数据规范 sql server?_sqlserver_08

  1. 限制返回行数
  2. SQL Server Select Top语句

SELECT TOP 子句用于限制查询结果集中返回的行数或行百分比。

由于存储在表中的行的顺序是不可预测的,因此 SELECT TOP 语句始终与 ORDER BY 子句一起使用。 结果,结果集限于前 N 个有序行数。

sql server数据规范 sql server?_sqlserver_09

  

在此语法中, SELECT 语句可以包含其他子句,如: WHERE , JOIN , HAVING 和 GROUP BY 。

  1. expression - TOP 关键字后面是一个表达式,它指定要返回的行数。 如果使用 PERCENT ,则将表达式计算为浮点值,否则将其转换为 BIGINT 值。
  2. PERCENT - PERCENT 关键字指示查询返回前 N 个行百分比,其中 N 是表达式的结果。
  3. WITH TIES - WITH TIES 用于返回更多行,其值与有限结果集中的最后一行匹配。 请注意, WITH TIES 可能会导致返回的行数多于在表达式中指定的行数。