MySQL中如何通过共有UserID关联查询两张表的指定字段
MySQL跨两表查询指定字段实现方法
直接通过两表共有的关联字段UserID做JOIN关联即可取到需要的字段,对应可直接运行的SQL如下:
SELECT t.name, t.srname, t.age, u.`phone number` FROM `Transaction` t INNER JOIN `user` u ON t.UserID = u.UserID;
- 上述写法用的是内连接,只会返回两张表中
UserID能互相对应上的记录,是最常用的关联查询写法 - 语句里的
t和u分别是Transaction表、user表的别名,用来简化SQL长度,明确字段归属,避免同名字段冲突 - 由于
phone number字段名中间带空格,必须用反引号包裹,否则MySQL会报语法错误 - 如果你需要保留Transaction表的所有记录,哪怕对应用户表找不到匹配的UserID,把
INNER JOIN换成LEFT JOIN即可,匹配不到的手机号字段会返回NULL
踩坑提示:Linux环境下MySQL表名大小写敏感,写表名的时候要和你实际建表时的大小写保持一致,避免报表不存在的错误。
内容的提问来源于stack exchange,提问作者Yogesh
相关产品推荐
相关产品推荐

