GBase 8a数据库嵌套查询-ANY或ALL谓词子查询

本文介绍了GBase 8a数据库中使用ANY和ALL谓词进行嵌套查询的方法,通过示例解释了如何查询比特定客户任一或所有订单付款日期更长的记录,同时探讨了ANY和ALL与比较运算符的结合及其与IN, NOT IN, MIN(), MAX()等的等价关系。" 55096603,5850414,转行抉择:产品还是测试?,"['产品管理', '软件测试', '职业规划', '行业分析', '职场建议']
摘要由CSDN通过智能技术生成

当使用比较运算符连接子查询与父查询时,要求子查询必须返回单个值。如果子查询返回多个值,则要用 ANY 或 ALL 谓词修饰比较运算符。ANY 的含义是“某个,其中之一”,ALL 的含义是“所有,全部”。表 1.15 列出了 ANY 和 ALL 与 6 种比较运算符搭配而构成的 12 个谓词。

例 1.19 查询比 101 顾客的任一订单的付款日期长的顾客的订单号及付款日期:

select order_num,customer_num,paid_date

from orders

where paid_date>any(select paid_date

from orders

where customer_num=101)and customer_num<>101;

查询结果为:

order_num customer_num paid_date

1003 104 /06/14/2008

1004 102 /07/21/2008

1005 104 /07/31/2008

执行此查询时,首先处理子查询,找出 101 顾客的所有订单的付款日期,构成一个集合(付款日期为“07/22/2014”和“06/03/2014”),然后处理父查询,查找大于此集合中任意一个数值的其他订单、客户号及付款日期。

例 1.20 查询比 101 顾客的全部订单的付款日期都要长的顾客的订单号及付款日期:

select order_num,customer_num,paid_date

from orders

where paid_date>all(select paid_date

from orders

where customer_num=101)and custo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值