TOP, LIMIT, ROWNUM 子句 (SQL TOP, LIMIT, ROWNUM Clause)

TOP (SQL Server), LIMIT (MySQL), ROWNUM (Oracle) 這些語法其實都是同樣的功能,都是用來限制您的 SQL 查詢語句最多只影響幾筆資料,而不同的語法則只因不同的資料庫實作時採用不同的名稱。

我們來看看以下的例子:

我們怎麼從下面這個 customers 資料表中?

C_IdNameCityAddressPhone
1張一台北市XX路100號02-12345678
2王二新竹縣YY路200號03-12345678
3李三高雄縣ZZ路300號07-12345678
4陳四台北市AA路400號02-87654321

只取出前兩筆資料呢?

C_IdNameCityAddressPhone
1張一台北市XX路100號02-12345678
2王二新竹縣YY路200號03-12345678

MySQL - LIMIT 語法 (SQL LIMIT Syntax)

SELECT table_column1, table_column2...
FROM table_name LIMIT number;

你可以這樣下 LIMIT 查詢語句:

SELECT * FROM customers LIMIT 2;

SQL Server - TOP 語法 (SQL TOP Syntax)

SELECT TOP number|percent table_column1, table_column2...
FROM table_name;

你可以這樣下 TOP 查詢語句:

SELECT TOP 2 * FROM customers;

或者這樣:

SELECT TOP 50 PERCENT * FROM customers;

Oracle - ROWNUM 語法 (ROWNUM Syntax)

SELECT table_column1, table_column2...
FROM table_name WHERE ROWNUM <= number;

你可以這樣下 ROWNUM 查詢語句:

SELECT * FROM customers WHERE ROWNUM <= 2;