SQL TOP 子句

TOP 子句

TOP 子句用于规定要返回的记录的数目。

对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

注释:并非所有的数据库系统都支持 TOP 子句。

SQL Server 的语法:

  1. SELECT TOP number|percent column_name(s)
  2. FROM table_name

MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

MySQL 语法

  1. SELECT column_name(s)
  2. FROM table_name
  3. LIMIT number

例子

  1. SELECT *
  2. FROM Persons
  3. LIMIT 5

Oracle 语法

  1. SELECT column_name(s)
  2. FROM table_name
  3. WHERE ROWNUM <= number

例子

  1. SELECT *
  2. FROM Persons
  3. WHERE ROWNUM <= 5

原始的表 (用在例子中的):

Persons 表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
4 Obama Barack Pennsylvania Avenue Washington

SQL TOP 实例

现在,我们希望从上面的 "Persons" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

  1. SELECT TOP 2 * FROM Persons

结果:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York

SQL TOP PERCENT 实例

现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

  1. SELECT TOP 50 PERCENT * FROM Persons

结果:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York