SQL SELECT TOP, LIMIT, ROWNUM 子句
SQL SELECT TOP 子句
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
注意: 并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。
SQL Server / MS Access 语法
SELECT TOP number|percent column_name(s) FROM table_name;
MySQL 语法
SELECT column_name(s) FROM table_name LIMIT number;
实例
SELECT * FROM Persons LIMIT 5;
Oracle 语法
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
实例
SELECT * FROM Persons WHERE ROWNUM <=5;
演示数据库
在本教程中,我们将使用 yssmx 样本数据库。
下面是选自 "Websites" 表的数据:
mysql> SELECT * FROM Websites; +----+---------------+---------------------------+-------+---------+ | id_name _url _alexa_country | +----+---------------+---------------------------+-------+---------+ | 1_Google _https://www.google.cm/ _ 1_USA | | 2_淘宝 _https://www.taobao.com/ _ 13_CN | | 3_云搜索MX教程 _/ _ 5000_USA | | 4_微博 _http://weibo.com/ _ 20_CN | | 5_Facebook _https://www.facebook.com/_ 3_USA | | 7_stackoverflow_http://stackoverflow.com/_ 0_IND | +----+---------------+---------------------------+-------+---------+
MySQL SELECT LIMIT 实例
下面的 SQL 语句从 "Websites" 表中选取头两条记录:
实例
SELECT
*
FROM
Websites
LIMIT
2
;
执行以上 SQL,数据如下所示:
SQL SELECT TOP PERCENT 实例
在 Microsoft SQL Server 中还可以使用百分比作为参数。
下面的 SQL 语句从 websites 表中选取前面百分之 50 的记录:
实例
以下操作在 Microsoft SQL Server 数据库中可执行。
SELECT
TOP
50
PERCENT
*
FROM
Websites
;