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

如何查询给定字符串列表中不在数据库表中的字符串

查询给定列表中不在数据库表内的字符串

要实现这个需求,核心思路是先把你给定的字符串列表转换成临时数据集,再和目标表做对比,筛选出列表里存在但表中没有的内容。下面提供两种常用的实现方式:

方法一:使用LEFT JOIN筛选

通过VALUES构造包含目标列表的临时表,再和public.person表左连接,最终筛选出表中匹配不到的记录:

SELECT names.name
FROM (
    VALUES ('John'), ('Doe'), ('Mike')
) AS names(name)
LEFT JOIN public.person p ON p.person_name = names.name
WHERE p.person_name IS NULL;

方法二:使用NOT EXISTS子查询

同样先构造临时列表,再通过NOT EXISTS判断列表中的值是否不存在于public.person表中:

SELECT name
FROM (
    VALUES ('John'), ('Doe'), ('Mike')
) AS names(name)
WHERE NOT EXISTS (
    SELECT 1
    FROM public.person p
    WHERE p.person_name = names.name
);

这两种方法都能返回你需要的'Doe',可以根据习惯选择使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:46:00