GBase 8c V5 开发者手册 南大通用数据技术股份有限公司 1248 方法。 取值范围:布尔型 on 表示使用。 off 表示不使用。 默认值:on
可以在 SELECT 语句的 Projection 子句中包含 FIRST max 规范(其中 max 具有整数值) 来构建查询, 使其仅返回匹配 SELECT 语句条件的最初max 行。 在 (且仅在) 此上下文中, 也可以使用关键字 LIMIT 作为 FIRST 的同义词。执行具有FIRST 子句的 SELECT 语句 时返回的行可能会不同,这取决于该语句是否还包含 ORDER BY 子句。
不具有 ORDER BY 子句的 FIRST 子句 如果具有 FIRST 子句的 SELECT 语句中没有 ORDER BY 子句,那么可能返回符合 SELECT 语句条件的任何行。换言之,数据库服务器确定返回哪些限定行,并且查询结果 可能会不同,这取决于优化器选择的查询计划。 以下查询使用 FIRST 子句来返回 state 表中的前五行。 图: 查询 SELECT FIRST 5 * FROM state; 图: 查询结果 code sname
AK Alaska HI Hawaii CA California OR Oregon WA Washington 当只想知道表包含的所有列的名称和数据的类型,或者测试可能会返回许多行的查询时, 可以使用 FIRST 子句。以下查询显示了如何使用 FIRST 子句来返回表的第一行的列值。
图: 查询 SELECT FIRST 1 * FROM orders; 图: 查询结果 order_num 1001
具有 ORDER BY 子句的 FIRST 子句 可以在具有 FIRST 子句的 SELECT 语句中包括 ORDER BY 子句,以返回包含指定列的 最高值或最低值的行。以下查询显示了包含 ORDER BY 子句以(按字母顺序)返回包含 在 state 表中的前五个州的查询。该查询,(除 ORDER BY 子句以外,它与图 1相同)返 回不同于图 1的一组行。 图: 查询 SELECT FIRST 5 * FROM state ORDER BY sname; 图: 查询结果 code sname
AL Alabama AK Alaska AZ Arizona AR Arkansas CA California 以下查询显示如何在具有 ORDER BY 子句的查询中使用 FIRST 子句来查找 stock 表中 列出的 10 中最贵的商品。 图: 查询 SELECT FIRST 10 description, unit_price FROM stock ORDER BY unit_price DESC; 图: 查询结果 description unit_price
football $960.00 volleyball $840.00
GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 48 -
baseball gloves $800.00 18-spd, assmbld $685.90 irons/wedge $670.00 basketball $600.00 12-spd, assmbld $549.00 10-spd, assmbld $499.99 football $480.00 bicycle brakes $480.00 应用程序可以将 Projection 子句的 SKIP 和 FIRST 关键字与 ORDER BY 子句相结合使 用,以执行连续查询,对某些固定大小(例如,最大行数可在一屏显示,无需滚动)的子 集中所有满足条件的行进行增量检索。通过在每次查询后使用 FIRST 子句的 max 参数增 大 SKIP 子句的 offset 参数值可实现上述操作。通过对满足条件的行施加唯一的命令, ORDER BY 子句确保每次查询返回满足条件行的不同子集。 以下查询显示了包含 SKIP 、 FIRST 和 ORDER BY 规范以 (按字母顺序) 返回 state 表的 10 个州中的第六个州,而不是前五个州的查询。该查询类似于图 1,但 SKIP 5 规范指示 数据库服务器返回不同于图 1的行集。 图: 查询 SELECT SKIP 5 FIRST 5 * FROM state ORDER BY sname; 图: 查询结果 code sname
CO Colorado CT Connecticut DE Delaware FL Florida GA Georgia 如果使用 SKIP 、FIRST 和 ORDER BY 关键字,必须指定对应于应用程序设计目标的参 数,如果 SKIP 的 offset 参数大于满足条件的行数,那么任何 FIRST 或 LIMIT 规范都无 效,并且查询不会返回任何结果。