最近做了京东的24年春招题,题目如下: alt alt

题目分析

本题要求筛选库存数量少于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练习区进行练习。