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

如何用SQL查询不在fiscal_code中的tax_id及对应exp_date

实现需求的几种SQL写法

这里有几种常用的SQL写法可以实现你的需求,你可以根据自己数据库的特性和数据情况选择:

方法1:使用NOT IN

SELECT tax_id, exp_date
FROM table_a  -- 替换成你的第一张表名
WHERE tax_id NOT IN (SELECT fiscal_code FROM table_b);  -- table_b替换成你的第二张表名

注意:如果第二张表的fiscal_code字段存在NULL值,这个写法会返回空结果,因为NULL的比较逻辑特殊,这种情况下建议用下面的方法。

方法2:使用NOT EXISTS

SELECT a.tax_id, a.exp_date
FROM table_a a  -- 替换成你的第一张表名,a是表别名
WHERE NOT EXISTS (
    SELECT 1
    FROM table_b b  -- 替换成你的第二张表名,b是表别名
    WHERE b.fiscal_code = a.tax_id
);

这个写法不受NULL值影响,而且当tax_id和fiscal_code字段有索引时,查询性能通常比较好。

方法3:使用LEFT JOIN + IS NULL

SELECT a.tax_id, a.exp_date
FROM table_a a  -- 替换成你的第一张表名
LEFT JOIN table_b b  -- 替换成你的第二张表名
    ON a.tax_id = b.fiscal_code
WHERE b.fiscal_code IS NULL;

左连接会保留第一张表的所有记录,然后筛选出第二张表中没有匹配的行(也就是b.fiscal_code为NULL的记录),这些就是你要找的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:02:04