SQL 教程

SQL 教程 SQL 简介 SQL 语法 SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min 和 Max SQL Count, Avg, Sum SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL 联接 SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL 自联接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null 函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 数据库备份 SQL Create Table SQL Drop Table SQL Alter Table SQL 约束 SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL 自动增量 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考手册

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考手册

SQL 实例

SQL 实例 SQL 测验 SQL 练习


SQL TOP, LIMIT, ROWNUM 子句

TOP 子句

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

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;

演示数据库

以下是从 Northwind 示例数据库的 "客户(Customers)" 表中查询的内容:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


SQL TOP、LIMIT 和 ROWNUM 示例

以下 SQL 语句从 "Customers" 表中选择前三条记录(用于 SQL Server/MS Access):

实例

SELECT TOP 3 * FROM Customers;
亲自试一试 »

下面的 SQL 语句显示使用 LIMIT 子句的等效示例(用于 MySQL):

实例

SELECT * FROM Customers
LIMIT 3;
亲自试一试 »

下面的 SQL 语句显示使用 ROWNUM 子句的等效示例(用于 Oracle):

实例

SELECT * FROM Customers
WHERE ROWNUM <= 3;

SQL TOP PERCENT 实例

在 Microsoft SQL Server 中还可以使用百分比作为参数。

以下 SQL 语句从 "Customers" 表中选择前 50% 的记录(用于SQL Server/MS Access):

实例

SELECT TOP 50 PERCENT * FROM Customers;
亲自试一试 »

添加WHERE子句

以下 SQL 语句从 "Customers" 表中选择前三条记录,其中 country 为 "Germany"(用于SQL Server/MS Access):

实例

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
亲自试一试 »

下面的 SQL 语句显示了使用 LIMIT 子句的等效示例(用于 MySQL):

实例

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
亲自试一试 »

下面的 SQL 语句显示了使用 ROWNUM 子句的等效示例(用于 Oracle):

实例

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