题解 | 从 Products 表中检索所有的产品名称以及对应的销售总数

从 Products 表中检索所有的产品名称以及对应的销售总数

https://www.nowcoder.com/practice/2b289b78de1546f38fd24e17e56f1bec

/* 方案1:符合提议的子查询
SELECT
    prod_name,
    (
        SELECT
            SUM(quantity)
        FROM
            OrderItems oi
        WHERE
            oi.prod_id = p.prod_id
    ) AS quant_sold
FROM
    Products p
;
*/

/* 方案2:更接近最佳实践的方法是连表+分组 */
SELECT
    p.prod_name,
    SUM(oi.quantity) AS quant_sold
FROM
    Products p
LEFT JOIN
    OrderItems oi ON oi.prod_id = p.prod_id
GROUP BY
    p.prod_id,  -- 从严谨性和数据完整性的角度考虑,应该锁两个字段
    p.prod_name 
;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务