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

如何在SQL Server中查询TableNew里Id为NULL且TableOld中Id非NULL的用户?

解决方案:找出符合条件的用户

需求明确:要筛选出TableNew中Id为NULL,同时在TableOld中对应Name的Id不为NULL的用户(即User3、User4、User5)。

方法一:关联查询

通过Name字段关联两张表,直接筛选符合条件的记录:

SELECT tn.Name
FROM TableNew tn
INNER JOIN TableOld told 
    ON tn.Name = told.Name
WHERE tn.Id IS NULL
  AND told.Id IS NOT NULL;

方法二:子查询

先从TableOld中找出Id不为NULL的用户Name列表,再在TableNew中匹配Id为NULL且Name在该列表中的记录:

SELECT Name
FROM TableNew
WHERE Id IS NULL
  AND Name IN (
      SELECT Name 
      FROM TableOld 
      WHERE Id IS NOT NULL
  );

两种方法都能得到目标结果,关联查询在数据量较大时通常性能更优,子查询的逻辑则更直观易懂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:50:00