在Oracle中,LIMIT關鍵字被稱為ROWNUM,用于限制查詢結果返回的行數。
在SELECT語句中使用ROWNUM時,它可以與ORDER BY子句一起使用,以確保返回的行按特定順序排序。以下是使用ROWNUM限制結果行數的示例:
SELECT column1, column2
FROM table
WHERE condition
ORDER BY column1
AND ROWNUM <= 10;
在上面的例子中,查詢將返回滿足條件的前10行,按column1列進行排序。
需要注意的是,ROWNUM是一個偽列,它是在查詢結果返回之前進行分配的編號。因此,當你想要使用ROWNUM進行分頁查詢時,需要先使用子查詢將行號分配給結果,然后再對結果進行篩選。以下是一個分頁查詢的示例:
SELECT *
FROM (
SELECT column1, column2, ROWNUM as row_num
FROM table
WHERE condition
ORDER BY column1
)
WHERE row_num BETWEEN 11 AND 20;
上面的查詢將返回滿足條件的第11到第20行的結果。
需要注意的是,Oracle 12c及以上版本引入了FETCH FIRST/NEXT語法,可以更直接地限制查詢結果行數。以下是使用FETCH FIRST語法的示例:
SELECT column1, column2
FROM table
WHERE condition
ORDER BY column1
FETCH FIRST 10 ROWS ONLY;
上面的查詢將返回滿足條件的前10行結果。