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

如何编写单条MySQL多表关联查询以获取指定结果集?

解决方案:MySQL多表关联查询实现指定结果集

没问题,我来帮你搞定这个多表关联查询的需求~首先先明确三张表的结构与数据:

-- Table 1
id   deg
101  ABC
202  PQR
303  XYZ

-- Table 2
id   t1_id   name
1    202     Test 1
2    202     Test 2
3    101     Test 3

-- Table 3
id   t2_id   t1_id   name
1    3       202     Job a
2    1       101     Job b
3    2       303     Job c

根据你需要的结果集,我们需要通过三次关联把各表的数据对应起来:

  1. 从Table2取出t1_name,关联Table1拿到对应的t1_deg
  2. 通过Table2的ID关联Table3,取出对应的t2_name
  3. 再通过Table3的t1_id关联Table1的另一个实例,拿到对应的t2_deg

对应的MySQL查询语句如下:

SELECT
    t2.name AS t1_name,
    t1a.deg AS t1_deg,
    t3.name AS t2_name,
    t1b.deg AS t2_deg
FROM Table2 t2
-- 关联Table1获取Table2对应的deg
JOIN Table1 t1a ON t2.t1_id = t1a.id
-- 关联Table3找到对应Job记录
JOIN Table3 t3 ON t2.id = t3.t2_id
-- 再次关联Table1获取Table3对应的deg
JOIN Table1 t1b ON t3.t1_id = t1b.id
-- 保证结果顺序与需求一致
ORDER BY t2.id;

执行这条语句后,就能得到你想要的结果集:

t1_name  t1_deg  t2_name  t2_deg
Test 1   PQR     Job b    ABC
Test 2   PQR     Job c    XYZ
Test 3   ABC     Job a    PQR

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:41:34