SQL SELECT TOP, LIMIT, ROWNUM 子句


SQL SELECT TOP 子句

SELECT TOP 子句用于規(guī)定要返回的記錄的數(shù)目。

SELECT TOP 子句對于擁有數(shù)千條記錄的大型表來說,是非常有用的。

注釋:并非所有的數(shù)據(jù)庫系統(tǒng)都支持 SELECT TOP 子句。

SQL Server / MS Access 語法

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


MySQL 和 Oracle 中的 SQL SELECT TOP 是等價的

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;


演示數(shù)據(jù)庫

在本教程中,我們將使用 php 樣本數(shù)據(jù)庫。

下面是選自 "Websites" 表的數(shù)據(jù):

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 | php中文網(wǎng)       | http://miracleart.cn/    |  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;

執(zhí)行以上 SQL,數(shù)據(jù)如下所示:



SQL SELECT TOP PERCENT 實例

在 Microsoft SQL Server 中還可以使用百分比作為參數(shù)。

下面的 SQL 語句從 "Customers" 表中選取前面 50% 的記錄:

實例

以下操作在 Microsoft SQL Server 數(shù)據(jù)庫中可執(zhí)行。

SELECT TOP 50 PERCENT * FROM Websites;