clickhouse left join产生的空值或者默认值问题解析
建表语句:
CREATE TABLE default .mt_table ( ` date ` Date , `id` UInt8, ` name ` String ) ENGINE = MergeTree( date , (id, name ), 8192) |
插入数据:
insert into mt_table ( date ,id, name ) values ( '2019-05-01' ,1, 'zhangsan' ); insert into mt_table ( date ,id, name ) values ( '2019-05-02' ,2, 'lisi' ); |
执行sql示例:
select a.* ,b.* from ( select * from mt_table where id=1) a left join ( select * from mt_table where id=2) b on a.id=b.id ; |
结果示例:
┌───────date─┬─id─┬─name─────┬─────b.date─┬─b.id─┬─b.name─┐
│ 2019-05-01 │ 1 │ zhangsan │ 1970-01-01 │ 0 │ │
└────────────┴────┴──────────┴────────────┴──────┴────────┘
可以观察到正常关联的话不会有null值产生:
关联不到的id数值类型默认为0;
关联不到的日期类型默认为1970-01-01;
关联不到的String类型为空 ''
clickhouse常见的三种空值问题以及解决方案
posted on 2022-08-03 15:33 RICH-ATONE 阅读(2145) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人