最近做了京东的24年春招题,题目如下:
题目分析
本题要求筛选库存数量少于10且销售额大于5000的商品记录,输出店铺ID、店铺名称、商品类别、库存数量和销售额。
输出字段:
- store_id(店铺ID)
- store_name(店铺名称)
- product_category(商品类别)
- inventory_quantity(库存数量)
- sales_amount(销售额)
输出顺序:
- 先按店铺ID升序(s.store_id)
- 再按商品ID升序(p.product_id)
涉及知识点:
- SQL 多表连接(JOIN)
- 条件筛选(WHERE + 多条件)
- 字段别名与排序(ORDER BY)
解答步骤
1. 关联销售库存、商品和店铺信息
- 用
sales_inventory
销售库存表与products
商品表通过商品ID连接,获取商品类别。 - 再与
stores
店铺表通过店铺ID连接,获取店铺名称。
from sales_inventory si
join products p on p.product_id = si.product_id
join stores s on s.store_id = si.store_id
2. 筛选符合条件的记录
- 只保留库存数量少于10且销售额大于5000的记录。
where si.inventory_quantity < 10 and si.sales_amount > 5000
3. 排序输出
- 按店铺ID升序、商品ID升序排序。
order by s.store_id, p.product_id
完整代码
select s.store_id, s.store_name, p.product_category, si.inventory_quantity, si.sales_amount
from sales_inventory si
join products p on p.product_id = si.product_id
join stores s on s.store_id = si.store_id
where si.inventory_quantity < 10 and si.sales_amount > 5000
order by s.store_id, p.product_id
近似题目练习推荐
- 知识点:条件筛选
如需更多类似题目,可在牛客网SQL练习区进行练习。