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

如何找出TripEvent表中不存在的指定Bold_ID列表项

解决方法:查找列表中不存在于TripEvent表的ID

核心思路是先构造包含所有待查ID的临时数据集,再通过左连接或EXISTS子句筛选出在TripEvent表中无匹配的ID,这样只会返回你指定列表里不存在的ID,不会扫全表返回无关数据。

方法1:使用VALUES子句+左连接(支持PostgreSQL、SQL Server 2008+、MySQL 8.0+)

SELECT t.bold_id
FROM (
    VALUES (354469477), (354469536), (354469500), (987359)
) AS t(bold_id)
LEFT JOIN TripEvent te ON t.bold_id = te.bold_id
WHERE te.bold_id IS NULL;

逻辑说明:临时数据集t包含所有你要检查的ID,和TripEvent左连接后,只有当t中的ID在TripEvent里找不到对应记录时,te.bold_id才会是NULL,筛选这些行就能得到目标结果。

方法2:使用UNION ALL构造临时表(兼容MySQL 5.x等不支持VALUES子句的版本)

SELECT t.bold_id
FROM (
    SELECT 354469477 AS bold_id
    UNION ALL SELECT 354469536
    UNION ALL SELECT 354469500
    UNION ALL SELECT 987359
) AS t
LEFT JOIN TripEvent te ON t.bold_id = te.bold_id
WHERE te.bold_id IS NULL;

方法3:使用NOT EXISTS子句

SELECT t.bold_id
FROM (
    VALUES (354469477), (354469536), (354469500), (987359)
) AS t(bold_id)
WHERE NOT EXISTS (
    SELECT 1 FROM TripEvent te WHERE te.bold_id = t.bold_id
);

逻辑说明:对临时数据集t中的每个ID,检查TripEvent里是否存在匹配记录,不存在的ID会被筛选出来。由于bold_id有唯一索引,这个查询会利用索引快速定位,效率很高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:15:34