在 SQL 中,OFFSET
子句用于從查詢結果集中排除指定數量的行。這通常與 LIMIT
子句一起使用,以便在分頁查詢時獲取特定范圍內的行。
OFFSET
子句的語法如下:
SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, ...]
LIMIT limit_value
OFFSET offset_value;
其中:
column1, column2, ...
是要從表中選擇的列名。table_name
是要查詢的表名。[WHERE condition]
是可選的條件子句,用于過濾結果集。[ORDER BY column1, column2, ...]
是可選的排序子句,用于對結果集進行排序。limit_value
是要返回的最大行數。offset_value
是要跳過的行數。示例:
假設我們有一個名為 employees
的表,包含以下列:id
, name
, age
和 salary
?,F在,我們想要查詢年齡大于 30 的員工,并按年齡降序排列,每次查詢返回 10 行,獲取第 2 頁的數據(即第 11 到 20 行):
SELECT id, name, age, salary
FROM employees
WHERE age > 30
ORDER BY age DESC
LIMIT 10
OFFSET 10;
在這個例子中,LIMIT
子句限制了查詢結果的行數為 10,而 OFFSET
子句跳過了前 10 行,因此我們得到了第 11 到 20 行的數據。