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

MySQL查询:找出两张表中互不包含的记录

解决方法:找出两张表中互不包含的时间记录

没问题,要找出table_datetime1和table_datetime2里各自独有的那两条时间记录,这里有两种实用的MySQL查询方案,逻辑清晰且高效:

方案一:用NOT EXISTS + UNION组合查询

这种方式分别筛选出每张表中对方没有的记录,再合并结果,可读性很强:

-- 获取table_datetime1独有的时间
SELECT dt AS unique_datetime
FROM table_datetime1
WHERE NOT EXISTS (
    SELECT 1 FROM table_datetime2 WHERE table_datetime2.dt = table_datetime1.dt
)
UNION
-- 获取table_datetime2独有的时间
SELECT dt AS unique_datetime
FROM table_datetime2
WHERE NOT EXISTS (
    SELECT 1 FROM table_datetime1 WHERE table_datetime1.dt = table_datetime2.dt
);

方案二:用LEFT JOIN + IS NULL + UNION筛选

通过左连接匹配两张表的时间,筛选出匹配失败的记录,同样能得到目标结果:

-- 从table_datetime1筛选独有的记录
SELECT t1.dt AS unique_datetime
FROM table_datetime1 t1
LEFT JOIN table_datetime2 t2 ON t1.dt = t2.dt
WHERE t2.dt IS NULL
UNION
-- 从table_datetime2筛选独有的记录
SELECT t2.dt AS unique_datetime
FROM table_datetime2 t2
LEFT JOIN table_datetime1 t1 ON t2.dt = t1.dt
WHERE t1.dt IS NULL;

小提示

  • 两个方案都会返回你需要的两条记录:2018-03-01 00:25:00和2018-03-01 00:30:00
  • 这里用UNION而不是UNION ALL,是因为它会自动去重(虽然当前场景不会有重复,但保持这个习惯能避免后续出现意外重复)
  • 注意替换代码里的dt为你实际的时间字段名哦

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:24:07