SQL91 返回购买价格为 10 美元或以上产品的顾客列表

该问题要求使用子查询从OrderItems表中找出价格大于等于10的商品对应的订单号,然后在Orders表中找到这些订单的顾客ID。最终示例结果返回了购买价格为10美元或以上产品的顾客cust10。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

OrderItems表示订单商品表,含有字段订单号:order_num、订单价格:item_price;Orders表代表订单信息表,含有顾客id:cust_id和订单号:order_num

OrderItems表

order_num

item_price

a1

10

a2

1

a2

1

a4

2

a5

5

a2

1

a7

7

Orders表

order_num

cust_id

a1

cust10

a2

cust1

a2

cust1

a4

cust2

a5

cust5

a2

cust1

a7

cust7

【问题】使用子查询,返回购买价格为 10 美元或以上产品的顾客列表,结果无需排序。

注意:你需要使用 OrderItems 表查找匹配的订单号(order_num),然后使用Order 表检索这些匹配订单的顾客 ID(cust_id)。

【示例结果】返回顾客id cust_id

cust_id

cust10

【示例解析】

cust10顾客下单的订单为a1,a1的售出价格大于等于10

示例1

输入:

DROP TABLE IF EXISTS `OrderItems`;

CREATE TABLE IF NOT EXISTS `OrderItems`(

order_num VARCHAR(255) NOT NULL COMMENT '商品订单号',

item_price INT(16) NOT NULL COMMENT '售出价格'

);

INSERT `OrderItems` VALUES ('a1',10),('a2',1),('a2',1),('a4',2),('a5',5),('a2',1),('a7',7);

DROP TABLE IF EXISTS `Orders`;

CREATE TABLE IF NOT EXISTS `Orders`(

order_num VARCHAR(255) NOT NULL COMMENT '商品订单号',

cust_id VARCHAR(255) NOT NULL COMMENT '顾客id'

);

INSERT `Orders` VALUES ('a1','cust10'),('a2','cust1'),('a2','cust1'),('a4','cust2'),('a5','cust5'),('a2','cust1'),('a7','cust7');

复制

输出:

cust10

答案

select t1.cust_id
from Orders t1,OrderItems t2
where t1.order_num=t2.order_num
and t2.item_price>=10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值