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

如何编写SQL关联T1、T2表生成含VAL列的目标表T3

SQL查询实现方案

核心逻辑

需求要求保留T1的全部数据,关联匹配T2的VAL字段,无匹配时VAL取值为NA,直接使用左外连接+空值替换函数即可实现。

通用SQL语句(支持MySQL、PostgreSQL、SQLite等主流数据库)

SELECT
    T1.Name,
    T1.ID,
    COALESCE(T2.VAL, 'NA') AS VAL
FROM T1
LEFT JOIN T2 ON T1.ID = T2.ID;

补充说明

  • 左连接LEFT JOIN会保留左表T1的所有记录,即使右表T2没有匹配的关联ID
  • COALESCE函数会判断T2.VAL是否为NULL,是则返回预设的'NA',否则返回T2.VAL本身,不同数据库可以替换为对应的空值处理函数:
    • Oracle环境可以换为NVL(T2.VAL, 'NA')
    • SQL Server环境可以换为ISNULL(T2.VAL, 'NA')
  • 最终查询结果即为目标表T3,对应数据如下:
NameIDVAL
AMAN10A00
JIM11B0
SAM12NA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 10:24:03