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

如何使用SQL关联matches和teams表查询目标赛事数据?

查询每场比赛对阵队名、比分、比赛日期的SQL写法

matches表中仅存储了两支参赛队伍的ID,需要两次关联teams表分别匹配两支队伍的ID取出对应名称,可直接使用以下语句:

SELECT
  t1.name AS team1名称,
  t2.name AS team2名称,
  m.score AS 赛事比分,
  m.date AS 比赛日期
FROM matches m
INNER JOIN teams t1
  ON m.team1id = t1.id
INNER JOIN teams t2
  ON m.team2id = t2.id;

说明

  • 两次关联teams表必须使用不同别名(示例中用了t1、t2),否则数据库无法区分要取哪支队伍的名称
  • 上述语句使用内连接,只会返回队伍ID能在teams表完全匹配到的比赛记录。如果存在比赛记录里的队伍ID在队伍表缺失、又需要保留这类异常比赛的场景,可以把INNER JOIN替换为LEFT JOIN
  • SELECT后的AS是给返回结果的列设置别名,你可以根据需要换成英文别名(比如team1_name),如果不设置别名,两个队伍名称列会重名,不利于结果读取
  • 表别名可以根据使用习惯调整,比如把t1改为home_team、t2改为away_team,语句可读性会更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 21:45:39