SQL中如何将一个表的列添加到另一表?含具体表结构与需求
表关联查询实现方案
你需要通过**表关联(JOIN)**来获取目标字段,因为两个表通过country_id字段建立关联,并非行级别的追加(那是UNION的适用场景)。以下是具体实现方式:
基础匹配查询(仅返回双方匹配的行)
使用INNER JOIN,只保留两个表中country_id完全匹配的记录:
SELECT t1.location_id, t1.street_address, t1.city, t1.state_province, t2.country_name FROM Table1 t1 INNER JOIN Table2 t2 ON t1.country_id = t2.country_id;
保留全量Table1数据(兼容无匹配的情况)
如果需要保留Table1的所有记录,哪怕对应的country_id在Table2中没有匹配项(此时country_name会显示为NULL),使用LEFT JOIN:
SELECT t1.location_id, t1.street_address, t1.city, t1.state_province, t2.country_name FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.country_id = t2.country_id;
注意事项
- 确保两个表的
country_id字段数据类型一致,否则可能导致关联失败 - 若之前尝试失败,大概率是误用了行追加操作(如
UNION),或关联条件书写错误
内容的提问来源于stack exchange,提问作者Rebja A.
相关产品推荐
相关产品推荐

