ClickHouse はどのような SQL 構文をサポートしていますか?
ClickHouse は SQL 構文を完全にサポートしており、次のような機能が含まれます。
- SQL/JSON と JSON データ型 (SQL-2023)
- ウィンドウ関数 (SQL-2003)
- 共通テーブル式 (CTE) と再帰クエリ (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 ではすでに利用可能です。