ClickHouse是否支持自定义数据集内连接?PostgreSQL示例对照及实现方法咨询
ClickHouse是否支持与自定义数据集的表连接?
当然支持!ClickHouse完全可以像PostgreSQL那样,用VALUES子句生成临时数据集来做表连接,只是在类型转换的语法上有一点小区别,我直接给你对应写法:
对应你提供的PostgreSQL语句的ClickHouse版本
SELECT * FROM points p INNER JOIN ( VALUES (5, toDate('2000-1-1'), 1, 1) ) AS x(id, create_date, store_id, supplier_id) ON p.id = x.id
关键差异说明
- 日期类型转换:PostgreSQL用
::date做类型强制转换,而ClickHouse需要用toDate()函数来显式转换字符串为日期类型 - 多临时行的扩展:如果需要多条临时数据,直接在
VALUES里用逗号分隔即可,比如:SELECT * FROM points p INNER JOIN ( VALUES (5, toDate('2000-1-1'), 1, 1), (6, toDate('2000-1-2'), 2, 3) ) AS x(id, create_date, store_id, supplier_id) ON p.id = x.id
这种临时数据集连接的方式在ClickHouse里同样高效,适合快速测试、批量匹配小数据集等场景。
内容的提问来源于stack exchange,提问作者Yusuf
相关产品推荐
相关产品推荐

