GBase 8a数据库嵌套查询-比较运算符子查询
父查询与子查询之间用比较运算符进行连接,构成带有比较运算符的子查询。只有当用户知道内层子查询返回的是单个值时,才可以用>、<、=、>=、<=、<>等比较运算符连接父查询与子查询。例如,在例 1.17 中,若顾客张一川只有一个订单,则内层子查询的结果表只有一行(即’信息部’),因此可用等号=代替 IN 谓词。例 1.18 找出所订物品的金额总计大于平均数的所有订单
父查询与子查询之间用比较运算符进行连接,构成带有比较运算符的子查询。只有当用户知道内层子查询返回的是单个值时,才可以用>、<、=、>=、<=、<>等比较运算符连接父查询与子查询。
例如,在例 1.17 中,若顾客张一川只有一个订单,则内层子查询的结果表只有一行(即’信息部’),因此可用等号=代替 IN 谓词。
例 1.18 找出所订物品的金额总计大于平均数的所有订单明细:
select item_num,ship_name,(ship_price*quantity) as total_price
from items
where (ship_price*quantity)>
(
select AVG(ship_price*quantity)
from items
);
查询结果为:
item_num ship_name total_price
10002 商品 HSK $1920.00
10007 商品 HRR $2400.00
本例中的嵌套查询可以这样理解,子查询计算所有订单的平均预定金额,将其值返回给父查询,在父查询中得出满足由子查询所得的值参与计算的 where 语句的元组。因此,子查询的查询条件依赖于父查询,这类子查询被称为相关子查询。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)