SQL SELECT TOP, LIMIT, ROWNUM
SQL SELECT TOP 子句
SELECT TOP 子句用於規定要返回的記錄的數目。
SELECT TOP 子句對於擁有數千條記錄的大型表來說,是非常有用的。
註釋:並非所有的數據庫系統都支持SELECT TOP子句。
SQL Server / MS Access 語法
SELECT TOP number | percent column_name(s)
FROM table_name ;
FROM table_name ;
MySQL 和Oracle 中的SQL SELECT TOP 是等價的
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;
演示數據庫
在本教程中,我們將使用w3big 樣本數據庫。
下面是選自"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 | 本教程 | http://www.w3big.com/ | 5000 | USA | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
SQL SELECT TOP 實例
下面的SQL 語句從"Websites" 表中選取頭兩條記錄:
實例
SELECT * FROM Websites LIMIT 2 ;
執行以上SQL,數據如下所示:
SQL SELECT TOP PERCENT 實例
在Microsoft SQL Server 中還可以使用百分比作為參數。
下面的SQL 語句從"Customers" 表中選取前面50% 的記錄:
實例
以下操作在Microsoft SQL Server 數據庫中可執行。
SELECT TOP 50 PERCENT * FROM Websites ;