GBase 8s
运维管理
文章

GBase8s数据库select子句5

发表于2025-12-31 09:41:0520次浏览1个评论

ALL、ANY、SOME 子查询

下列示例返回所有包含一项的所有订单的订单编号,该项的总价大于订单编号 1023 中每项的总

价。第一个 SELECT 使用 ALL 子查询,第二个 SELECT 通过使用 MAX 聚集函数产生相同的

结果。

SELECT DISTINCT order_num FROM items

WHERE total_price > ALL (SELECT total_price FROM items

WHERE order_num = 1023);

SELECT DISTINCT order_num FROM items

WHERE total_price > SELECT MAX(total_price) FROM items

WHERE order_num = 1023);

下列 SELECT 语句返回所有包含一项的所有订单的订单编号,该项的总价大于订单编号 1023 中

至少一项的总价。第一个 SELECT 语句使用 ANY 关键字,而第二个 SELECT 语句使用 MIN

聚集函数:

SELECT DISTINCT order_num FROM items

WHERE total_price > ANY (SELECT total_price FROM items

WHERE order_num = 1023);

 

SELECT DISTINCT order_num FROM items

WHERE total_price > (SELECT MIN(total_price) FROM items

WHERE order_num = 1023);

如果子查询恰好返回一个值,则您可在子查询中省略关键字 ANY、ALL 或 SOME。如果您省略

ANY、ALL 或 SOME,且子查询返回多个值,则您会收到错误。下一示例中的子查询仅返回一

行,因为它使用聚集函数:

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 7个月前
学习。