# 分别求出产品总价和销售的产品数量SELECT p1.product_id,ROUND(p1.s_price/u1.s_number,2) average_price
FROM(SELECT p.product_id,sum(u.units*p.price) s_price
FROM Prices p
LEFTJOIN UnitsSold u
ON p.product_id=u.product_id AND u.purchase_date BETWEEN p.start_date AND p.end_date
GROUPBY p.product_id
) p1
LEFTJOIN(SELECT product_id,sum(units) s_number
FROM UnitsSold
GROUPBY product_id
) u1
ON p1.product_id=u1.product_id
2.3 运行截图
3 仓库经理
3.1 题目内容
3.1.1 基本题目信息
3.1.2 示例输入输出
3.2 示例sql语句
# ①在产品表中求出含每件商品的存货量字段的新表p1②拿仓库表与p1表左连接③分组求和即可# 主要不要被查出的结果表的标题行大写迷惑了,取别名只要小写即可,MYSQL数据库默认是不区分大小写的SELECT w.name warehouse_name,SUM(w.units*p.stock) volume
FROM Warehouse w
LEFTJOIN(SELECT product_id,Width*Length*Height stock
FROM Products
)p
ON w.product_id=p.product_id
GROUPBY w.name
3.3 运行截图
4 苹果和桔子
4.1 题目内容
4.1.1 基本题目信息
4.1.2 示例输入输出
4.2 示例sql语句
# ①把sales表通过内连接拼接成每个日期下有几种水果和对应的销售数量的字段的表# ②进行筛选# ③在SELECT子句中进行计算SELECT s1.sale_date,s1.sold_num-s2.sold_num diff
FROM Sales s1
INNERJOIN Sales s2
ON s1.sale_date=s2.sale_date AND s1.fruit='apples'AND s1.fruit <> s2.fruit
ORDERBY s1.sale_date;