SQL 選擇頂部
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;
示範資料庫
在本教學中,我們將使用 php 樣本資料庫。
下面是選自"Websites" 表的資料:
mysql> SELECT * FROM Websites;
+----+-------- -------+---------------------------+-------+------ ---+
| id | name | url --------------------+-------+---------+
| 1 | Google | https:/ /www.google.cm/ | 1 | USA |
| 2 | 淘寶 |
| 3 | php中文網 | http://www .php.cn/ | 5000 | USA |
| 4 | 微博 CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
#| 7 | stackoverflow | http://stackoverflow.com/ | -------- | IND ).com/ | --------21| IND • #- +--------------------------+-------+---------+
+----+-------- -------+---------------------------+-------+------ ---+
| id | name | url --------------------+-------+---------+
| 1 | Google | https:/ /www.google.cm/ | 1 | USA |
| 2 | 淘寶 |
| 3 | php中文網 | http://www .php.cn/ | 5000 | USA |
| 4 | 微博 CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
#| 7 | stackoverflow | http://stackoverflow.com/ | -------- | IND ).com/ | --------21| IND • #- +--------------------------+-------+---------+
下面的SQL 語句從"Websites" 表中選取頭兩筆記錄:
實例#SELECT * FROM Websites LIMIT 2;
執行上述SQL,資料如下所示:
在Microsoft SQL Server 中也可以使用百分比作為參數。 下面的 SQL 語句從 "Customers" 表中選取前面 50% 的記錄:
實例
以下操作在 Microsoft SQL Server 資料庫中可執行。 SELECT TOP 50 PERCENT * FROM Websites;