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

如何编写SQL查询选取一张表全量行与另一张表未匹配行?

SQL查询:合并指定行数据

表信息与数据

有两张表UPPER和LOWER,LOWER的Value是UPPER中部分Value的小写形式,属于其子集。

UPPER表数据

IDValue
1A
2B
3C
4D

LOWER表数据

IDValue
1c
2d

需求与预期结果

需要通过Join操作,保留LOWER中的所有Value,同时保留UPPER中没有对应小写的Value,最终输出结果如下:

IDValue
1A
2B
3c
4d

实现SQL语句

SELECT 
    u.ID,
    COALESCE(l.Value, u.Value) AS Value
FROM UPPER u
LEFT JOIN LOWER l ON LOWER(u.Value) = l.Value;

语句说明

  • 以UPPER表为基础,用LEFT JOIN关联LOWER表,关联规则是UPPER的Value转小写后与LOWER的Value一致,以此匹配对应的小写值。
  • COALESCE函数优先选取匹配到的LOWER表Value,未匹配时则使用UPPER表的原Value,刚好满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:54:52