SELECT TOP 子句用于指定要返回的记录数量。

注:并不是所有的数据库系统都支持SELECT TOP子句。MySQL支持LIMIT子句来选择有限数量的记录,而Oracle使用ROWNUM。

SQL Server / MS Access 语法

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL语法

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Oracle 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

以下SQL语句从”Customers”表中选择前三个记录:

SELECT TOP 3 * 
FROM Customers;

以下SQL语句显示了使用LIMIT子句的等效示例:

SELECT * 
FROM Customers
LIMIT 3;

以下SQL语句显示了使用ROWNUM的等效示例:

SELECT * 
FROM Customers
WHERE ROWNUM <= 3;

以下SQL语句从”Customers”表中选择记录的前50%:

SELECT TOP 50 PERCENT * 
FROM Customers;

以下SQL语句从”Customers”表中选择国家为”Germany”的前三条记录:

SELECT TOP 3 * 
FROM Customers
WHERE Country='Germany';

以下SQL语句显示了使用LIMIT子句的等效示例:

SELECT * 
FROM Customers
WHERE Country='Germany'
LIMIT 3;

以下SQL语句显示了使用ROWNUM的等效示例:

SELECT * 
FROM Customers
WHERE Country='Germany'
AND ROWNUM <= 3;