Standard SQL に加えて、ClickHouse はデータのクエリに使用できるさまざまな代替クエリ言語をサポートしています。
現在サポートされているダイアレクトは次のとおりです。
clickhouse: ClickHouse のデフォルトの SQL ダイアレクトprql: パイプライン指向リレーショナルクエリ言語 (PRQL)kusto: Kusto クエリ言語 (KQL)
使用するクエリ言語は、dialect 設定で制御します。
Standard SQL
Standard SQL は、ClickHouse のデフォルトのクエリ言語です。
SET dialect = 'clickhouse'パイプライン指向リレーショナルクエリ言語 (PRQL)
PRQL を有効にするには:
SET allow_experimental_prql_dialect = 1; -- このSETステートメントはClickHouse v25.1以降でのみ必要です
SET dialect = 'prql'PRQLクエリの例:
from trips
aggregate {
ct = count this
total_days = sum days
}内部的には、ClickHouse は PRQL を SQL にトランスパイルして、PRQL クエリを実行します。
Kusto クエリ言語 (KQL)
KQL を有効にするには:
SET allow_experimental_kusto_dialect = 1; -- このSETステートメントはClickHouseバージョン25.1以降でのみ必要です
SET dialect = 'kusto'numbers(10) | project number┌─number─┐
│ 0 │
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
│ 6 │
│ 7 │
│ 8 │
│ 9 │
└────────┘KQL クエリでは、ClickHouse で定義されているすべての関数を利用できるとは限りません。