GBase8s数据库SELECT 语句2

使用 FIRST 选项

FIRST max 选项指定结果集包括不多于 max 行(或正好 max,如果 max 不大于符合条件的行的数

目的话)。 不返回满足选择条件的任何附加的行。下例最多从表 tab1 检索 10 行:

SELECT FIRST 10 a, b FROM tab1;

GBase 8s 可使用主变量或在本地变量中指定 max 的 SPL 输入参数的值。

随同 ORDER BY 子句,您可检索符合条件的行的前 max 行。例如,下列查询找到薪酬最高的 10

名雇员:

SELECT FIRST 10 name, salary FROM emp ORDER BY salary DESC;

您可使用在查询中的 FIRST 选项,该查询的结果集在另一 SELECT 语句的 FROM 子句之内定义集

合派生的表(CDT)。下列查询指定有不多于 10 行的 CDR:

SELECT *

FROM TABLE(MULTISET(SELECT FIRST 10 * FROM employees

ORDER BY employee_id)) vt(x,y), tab2

WHERE tab2.id = vt.x;

在 FROM 子句中包括表表达式的查询中,FIRST 和 SKIP 关键字还有效:

SELECT * FROM (SELECT SKIP 2 FIRST 8 col1 FROM tab1 WHERE col1 > 50 );

下一示例将 FIRST 选项用于 UNION 表达式的结果:

SELECT FIRST 10 a, b FROM tab1 UNION SELECT a, b FROM tab2;

在任何下列上下文中,FIRST 选项都无效:

在视图的定义中

在嵌套的 SELECT 语句中

在子查询中,除了在 FROM 子句中指定表表达式的那些子查询之外

在 SPL 例程之内的单 SELECT 中(此处 max = 1)

将嵌套的 SELECT 语句用作表达式的情况下

LIMIT 关键字

LIMIT 是在 Projection 子句中 FIRST 关键字的关键字同义词。然而,您不可在 FIRST 为有效的

其他语法上下文中以 LIMIT 替换 FIRST,比如在 FETCH 语句中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值