SQL Server (Transact-SQL) TOP 子句用于从表中获取指定数量或百分比的记录。当表包含数千条记录并且返回大型数据集会影响性能时,这非常有用。

SQL Server TOP 子句用于数据库的分页查询。

语法

下面给出了在 SQL Server (Transact-SQL) 中使用 TOP 子句的语法:

SELECT TOP number|percent column1, column2, ...
FROM table_name
WHERE condition(s); 

示例:

考虑一个数据库,其中包含一个名为 Employee 的表,其中包含以下记录:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

要从 Employee 表中获取前 3 条记录,查询为:

SELECT TOP 3 * FROM Employee; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800

上述结果也可以通过在查询中使用 PERCENT 关键字来实现。

SELECT TOP 50 PERCENT * FROM Employee; 

以下代码的结果将是:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800

要获取员工 年龄 大于 25 的前 3 条记录,查询将是:

SELECT TOP 3 * FROM Employee 
WHERE Age > 25; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalary
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000