ClickHouse 完整支持 SQL 语法,包括以下特性:
- SQL/JSON 和 JSON 数据类型 (SQL-2023)
- 窗口函数 (SQL-2003)
- 公用表表达式和递归查询 (SQL-1999)
- ROLLUP、CUBE 和 GROUPING SETS (SQL-1999)
- 完整支持 RBAC (SQL-1999)
- 相关子查询 (SQL-1992);
这些支持已通过 TPC-H、TPC-DS 基准测试以及 SQLTest 验证。
ClickHouse 在许多特性上早于 ISO/IEC 将其标准化之前就已引入,例如:
- 条件聚合函数
any聚合函数least和greatestGROUP BY ALL- 别名的扩展用法
- 数值字面量中的下划线
ClickHouse 还通过引入多项重要的易用性改进扩展了 SQL:
- 不受限制地使用别名
- WITH 子句中的别名
- 聚合函数组合器
- 参数化聚合函数
- 近似聚合函数
- 原生数值类型和大整数数值类型、扩展精度 decimal
- 用于数组操作的高阶函数
- ARRAY JOIN 子句和 arrayJoin 函数
- 数组聚合
- LIMIT BY 子句
- GROUP BY WITH TOTALS
- AS OF JOIN
- ANY/ALL JOIN
- 面向 JSON 的自然语法
- 列列表中的尾随逗号
- FROM … SELECT 子句顺序
- 类型安全的查询参数和参数化视图
其中一些特性未来有望被纳入 SQL 标准,而 ClickHouse 用户现在已经可以使用它们。