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

PostgreSQL 14.2多币种表按updateTime关联查询及剩余数据需求

PostgreSQL 14.2 双表关联查询解决方案

背景说明

使用PostgreSQL 14.2,拥有结构一致的DOLLAR和EURO两张币种数据表,表结构如下:

CREATE TABLE IF NOT EXISTS DOLLAR
(
    id                      serial PRIMARY KEY,
    updateTime              timestamp,
    -- 其他字段
);  

CREATE TABLE IF NOT EXISTS EURO
(
    id                      serial PRIMARY KEY,
    updateTime              timestamp,
    -- 其他字段
);  

注:单表内updateTime字段值唯一。

需求1:查询并输出updateTime相同的EURO与DOLLAR记录(成对输出)

对应伪代码逻辑,直接用INNER JOIN关联两张表匹配updateTime字段即可:

SELECT e.*, d.*
FROM EURO e
INNER JOIN DOLLAR d ON e.updateTime = d.updateTime;

由于单表内updateTime唯一,每条EURO记录最多匹配一条DOLLAR记录,正好实现成对输出的效果。

需求2:输出EURO表中未在需求1中输出的所有行

提供两种可行实现方式:

方式1:LEFT JOIN + 空值筛选

SELECT e.*
FROM EURO e
LEFT JOIN DOLLAR d ON e.updateTime = d.updateTime
WHERE d.id IS NULL;

方式2:NOT EXISTS子查询

SELECT e.*
FROM EURO e
WHERE NOT EXISTS (
    SELECT 1
    FROM DOLLAR d
    WHERE d.updateTime = e.updateTime
);

两种方式都能精准筛选出EURO中没有对应DOLLAR同updateTime的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:20:44