You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写MySQL多表连接查询语句:关联3张表获取指定赛事数据

MySQL多表连接查询实现需求

表关联前提假设

基于表名推断的字段关联关系:

  • tournament_table:tournament_id(主键)、t_name(赛事名称)
  • tournament_participant:tournament_id(关联赛事表)、team_id(关联队伍表)
  • team_name:team_id(主键)、name(队伍名称)

对应查询语句

SELECT
    tt.t_name AS `赛事名称`,
    COUNT(tp.team_id) AS `# of teams`,
    GROUP_CONCAT(tn.name SEPARATOR ', ') AS `team_names`
FROM
    tournament_table tt
LEFT JOIN
    tournament_participant tp ON tt.tournament_id = tp.tournament_id
LEFT JOIN
    team_name tn ON tp.team_id = tn.team_id
WHERE
    tt.tournament_id = 1
GROUP BY
    tt.tournament_id, tt.t_name;

语句说明

  • 采用LEFT JOIN保证即使赛事无参赛队伍,仍能返回赛事基础信息(此时队伍数量为0,名称列表为NULL)
  • COUNT(tp.team_id)精准统计有效参赛队伍数,规避NULL值干扰
  • GROUP_CONCAT将队伍名称拼接为逗号分隔的字符串,可通过修改SEPARATOR参数调整分隔符格式
  • GROUP BY子句包含赛事ID和名称,符合MySQL分组规则要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:29:50