📜  PostgreSQL – FETCH 子句

📅  最后修改于: 2022-05-13 01:57:15.822000             🧑  作者: Mango

PostgreSQL – FETCH 子句

PostgreSQL FETCH 子句具有类似于 PostgreSQL LIMIT 子句的功能。它用于检索查询返回的部分行。由于 LIMIT 子句不是标准的 SQL 命令,PostgreSQL 提供了一种从查询中获取结果子集的标准方法。

我们来分析一下上面的语法:

  • ROW 和 FIRST 分别与 ROWS 和 NEXT 同义。
  • 开始是一个零或正整数值。默认情况下,它为零。
  • row_count 为 1 或更高。默认情况下,它是 1。
  • 由于表中存储的行的顺序是不可预测的,因此应始终将 FETCH 子句与 ORDER BY 子句一起使用,以使结果集一致。

在本文中,我们将使用示例 DVD 租赁数据库,在此处进行了说明,可以通过单击此链接进行下载。

现在,让我们看几个例子。



示例 1:
在这里,我们将从示例数据库的电影表中查询按“标题”排序的电影的前 10 行。

SELECT
    film_id,
    title
FROM
    film
ORDER BY
    title 
FETCH FIRST 10 ROW ONLY;

输出:

示例 2:
在这里,我们将在前五部电影之后查询电影的前 10 行,从我们示例数据库的电影表中按“标题”排序。

SELECT
    film_id,
    title
FROM
    film
ORDER BY
    title 
OFFSET 5 ROWS 
FETCH FIRST 10 ROW ONLY;

输出: