题解 | 从 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
;
