You need to enable JavaScript to run this app. 子查询与多表关联实现各种族食物总食用量的SQL查询问题
优惠活动
大模型
产品
解决方案
定价
更多

子查询与多表关联实现各种族食物总食用量的SQL查询问题

三表关联统计种族维度食物总食用量实现方案

核心关联逻辑

三张表的关联可以顺着字段传递链路直接打通,不存在跨表断层:

  • 从Food表出发,用公共字段Animal_id连接Animal表,拿到每条食物记录对应的动物所属种族编码
  • 再用Animal表带出的公共字段Race_code连接Race表,拿到对应的种族名称
  • 最后按种族维度分组,用SUM(Quantity)计算每个种族的累计食物食用总量

可直接运行的查询语句

SELECT
  r.Race_name,
  SUM(f.Quantity) AS total_food_intake
FROM Food f
-- 关联动物表,拿到食物记录对应动物的种族编码
INNER JOIN Animal a
  ON f.Animal_id = a.Animal_id
-- 关联种族表,拿到种族编码对应的正式名称
INNER JOIN Race r
  ON a.Race_code = r.Race_code
-- 按种族分组,避免重名种族统计错位
GROUP BY r.Race_code, r.Race_name;

实现说明

  • 语句默认使用内连接,会自动过滤掉没有匹配对应动物、或没有匹配种族信息的无效食物记录;如果需要保留全部食物数据、允许关联不到种族的情况存在,可将对应连接替换为LEFT JOIN
  • 分组字段同时携带Race_code而非仅按Race_name分组,是为了规避不同种族编码但种族名称重复时,聚合结果被错误合并的问题,统计准确性更高

内容的提问来源于stack exchange,提问作者Ghassen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 12:15:04