TOP, LIMIT, ROWNUM 子句 (SQL TOP, LIMIT, ROWNUM Clause)
TOP (SQL Server), LIMIT (MySQL), ROWNUM (Oracle) 這些語法其實都是同樣的功能,都是用來限制您的 SQL 查詢語句最多只影響幾筆資料,而不同的語法則只因不同的資料庫實作時採用不同的名稱。
我們來看看以下的例子:
我們怎麼從下面這個 customers 資料表中?
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
4 | 陳四 | 台北市 | AA路400號 | 02-87654321 |
只取出前兩筆資料呢?
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
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;