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
)

参考:https://zhidao.baidu.com/question/68527378.html  不过我觉得部分有错

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页