最近做了京东的24年春招题,题目如下:
题目分析
本题要求筛选质量分数大于80且成本小于50的供应商组件记录,输出供应商ID、供应商名称、组件名称、质量分数和成本。
输出字段:
- supplier_id(供应商ID)
- supplier_name(供应商名称)
- component_name(组件名称)
- quality_score(质量分数)
- cost(成本)
输出顺序:
- 先按供应商ID升序(sc.supplier_id asc)
- 再按成本升序(sc.cost asc)
涉及知识点:
- SQL 多表连接(JOIN)
- 条件筛选(WHERE + 多条件)
- 字段别名与排序(ORDER BY)
解答步骤
1. 关联供应商质量成本、组件和供应商信息
- 用
supply_quality_cost
供应商质量成本表与components
组件表通过组件ID连接,获取组件名称。 - 再与
suppliers
供应商表通过供应商ID连接,获取供应商名称。
from supply_quality_cost sc
join components c on c.component_id = sc.component_id
join suppliers s on sc.supplier_id = s.supplier_id
2. 筛选符合条件的记录
- 只保留质量分数大于80且成本小于50的记录。
where sc.quality_score > 80 and sc.cost < 50
3. 排序输出
- 按供应商ID升序、成本升序排序。
order by sc.supplier_id asc, sc.cost asc
完整代码
select s.supplier_id, s.supplier_name, c.component_name, sc.quality_score, sc.cost
from supply_quality_cost sc
join components c on c.component_id = sc.component_id
join suppliers s on sc.supplier_id = s.supplier_id
where sc.quality_score > 80 and sc.cost < 50
order by sc.supplier_id asc, sc.cost asc
近似题目练习推荐
- 知识点:条件筛选
- 知识点:条件筛选、多表连接、join
如需更多类似题目,可在牛客网SQL练习区进行练习。