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

如何在SQLite中仅将两表完全匹配的城市项插入新表对应列

SQLite实现方案

你要的效果可以直接用**左连接(LEFT JOIN)**实现,左连接的特性就是保留左表所有行,右表匹配不到的对应字段自动返回NULL,刚好符合你的需求,完整操作步骤如下:

  • 直接用CREATE TABLE ... AS SELECT语法一步生成目标新表,无需单独先建表再插入数据
  • 关联条件设置为两张表的城市字段完全等值匹配即可

完整SQL语句

-- 把下方的「目标新表名」替换成你自己要的新表名称即可
CREATE TABLE 目标新表名 AS
SELECT 
    A.City_fromTblA,
    B.City_fromTblB
FROM 表A A
LEFT JOIN 表B B 
ON A.City_fromTblA = B.City_fromTblB;

执行后结果验证

最终生成的新表数据和你预期完全一致:

City_fromTblACity_fromTblB
DelhiNULL
MumbaiMumbai
KolkattaKolkatta
AgraAgra
NoidaNoida
MathuraNULL

可选优化场景

  • 如果需要自定义新表的字段类型、约束,可以先手动执行CREATE TABLE语句定义好表结构,再用INSERT INTO 目标新表名 SELECT ...的写法插入数据,SELECT部分的逻辑和上面完全一致
  • 如果表B中存在重复的城市值,左连接会产生重复行,此时可以先对表B的城市字段去重再关联,调整关联部分的写法即可:
    LEFT JOIN (SELECT DISTINCT City_fromTblB FROM 表B) B 
    ON A.City_fromTblA = B.City_fromTblB
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:27:04