SQL 把查询结果当作"表"来使用

在写数据库作业的时候遇到的问题,在查阅百度后自己简单整理了一下

sql中把一个查询结果当作另一个表来查询可以理解查询结果为一个临时表
使用select语句查询结果集即可。
参考代码:
–1:将结果作为一个临时表,可以使用链接或者直接查询
SELECT * FROM(
SELECT SUM(NUM_QNTY4) AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID
) AS A
举例:查询订单表OrderInfo中购买数量超过30的用户编号

SELECT UserId FROM --订单表中购买数量超过30的用户编号UserId
(
SELECT UserId
FROM OrderInfo-- OrderInfo 订单表
GROUP BY UserId HAVING SUM(Amount)>30
)AS T1 --查询结果作为临时表T1

–2:将上述查询结果作为子查询的方式
SELECT * FROM 表名
WHERE 字段名1 IN
(
SELECT 字段名1 FROM(
SELECT 字段名1 AS sumNum, NUM_LINKID
FROM RW_STORE_QUNTY
GROUP BY NUM_LINKID

)
–查询购买商品数量超过30的用户信息
–用户信息在UserInfo中,购买详情放在OrderInfo中,所以要将两个表关联起来
SELECT * FROM UserInfo–从UserInfo中根据ID提取用户的完整信息
WHERE UserId IN (
SELECT UserId FROM --得到订单表中购买数量超过30的用户编号UserId
(
SELECT UserId
FROM OrderInfo-- OrderInfo 订单表
GROUP BY UserId HAVING SUM(Amount)>30
)AS T1
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值