Outre le SQL standard, ClickHouse prend en charge plusieurs langages de requête alternatifs pour interroger les données.
Les dialectes actuellement pris en charge sont :
clickhouse: le dialecte SQL par défaut de ClickHouseprql: langage de requêtes relationnelles en pipeline (PRQL)kusto: langage de requête Kusto (KQL)
Le langage de requête utilisé est déterminé par le paramètre dialect.
SQL standard
Le SQL standard est le langage de requêtes par défaut de ClickHouse.
SET dialect = 'clickhouse'Langage de requêtes relationnelles en pipeline (PRQL)
Pour activer PRQL :
SET allow_experimental_prql_dialect = 1; -- this SET statement is required only for ClickHouse versions >= v25.1
SET dialect = 'prql'Exemple de requête PRQL :
from trips
aggregate {
ct = count this
total_days = sum days
}En coulisses, ClickHouse s’appuie sur une transpilation de PRQL en SQL pour exécuter les requêtes PRQL.
Langage de requête Kusto (KQL)
Pour activer le KQL :
SET allow_experimental_kusto_dialect = 1; -- this SET statement is required only for ClickHouse versions >= 25.1
SET dialect = 'kusto'numbers(10) | project number┌─number─┐
│ 0 │
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
│ 6 │
│ 7 │
│ 8 │
│ 9 │
└────────┘Notez que les requêtes KQL peuvent ne pas avoir accès à toutes les fonctions définies dans ClickHouse.