PostgreSQL FETCH
在本节中,我们将了解
PostgreSQL FETCH子句的工作原理,该子句用于响应特定语句返回的行。
各种RDBMS
(关系数据库管理系统),例如
H2,MySQL和HSQLDB ,使用
LIMIT 。
并且我们已经在 PostgreSQL教程,它用于限制语句返回的行数。并且 LIMIT子句不遵循SQL标准。
因此,为了遵循SQL标准,PostgreSQL还引入了
FETCH子句,用于恢复命令返回的各种行。并且
FETCH子句由SQL于2008年启动。
PostgreSQL Fetch子句的语法
通用语法PostgreSQL FETCH子句的内容如下:
OFFSET start { ROW | ROWS }
FETCH { FIRST | NEXT } [ row_count ] { ROW | ROWS } ONLY
在以上语法中,我们具有以下参数:
参数 |
说明 |
start |
它是一个整数,其基本值为正或零; ,否则采用其默认值,零。 |
ROW | ROWS |
在这里,ROW是 ROWS 的替代,这意味着 ROW 是其他 ROWS的替代; 这就是我们可以等效使用它们的原因。 |
row_count |
如果我们没有明确定义 row_count ,它将采用其默认值 1 。 |
注意:
如果未定义 OFFSET子句,则开始大于结果中的行数,并且不按保留的行顺序返回任何行该表中的名称未命名。
如果要使我们的软件与其他数据库系统兼容,则应使用FETCH子句,因为它遵循标准SQL,并且FETCH子句在功能上与LIMIT子句相当。
PostgreSQL FETCH子句示例
要了解PostgreSQL fetch子句的实时运行,我们将使用
CAR 表,该表是我们在PostgreSQL教程的Limit子句部分中创建的。
在这里,我们从<
<中选择
Car_id,Car_name和Car_model 列strong>汽车表,并
获取
第一行,该行按
汽车名称以
升序排列借助
FETCH 子句,如以下命令所示:
中选择
SELECT car_id, car_name, car_model
FROM Car
ORDER BY car_name
FETCH FIRST ROW ONLY;
输出
执行上述命令后,我们将获得以下输出,该输出仅显示
第一行
CAR 表。
或我们可以使用以下命令,因为两个查询都生成相同的输出:
SELECT car_id, car_name, car_model
FROM Car
ORDER BY car_name
FETCH first 1 ROW ONLY;
输出
执行以下命令后,我们将获得以下输出,该输出与上述命令显示的输出类似:
如果我们要选择
前六行,则可以使用以下命令,按其
汽车名称
排序
SELECT car_id, car_name
FROM Car
ORDER BY car_name
FETCH first 6 ROW ONLY;
输出
执行上述命令后,我们将获得以下输出,其中显示第一行-第六行,并按其
Car_names 从
CAR 表中。
在以下示例中,我们将尝试获取接下来的四辆
汽车,该汽车紧随
前六辆汽车(按
CAR 表中的> Car_name 。
SELECT car_id, car_name, car_model
FROM Car
ORDER BY car_name
OFFSET 4 ROWS
FETCH first 4 ROW ONLY;
输出
执行上述命令后,我们将获得以下输出,其中显示以下四个Cars详细信息: