Además de SQL estándar, ClickHouse admite varios lenguajes de consulta alternativos para la consulta de datos.
Los dialectos admitidos actualmente son:
clickhouse: El dialecto SQL predeterminado de ClickHouseprql: Lenguaje de consulta relacional en canalización (PRQL)kusto: Lenguaje de consulta Kusto (KQL)
El lenguaje de consulta utilizado se controla mediante la configuración dialect.
SQL estándar
SQL estándar es el lenguaje de consulta predeterminado de ClickHouse.
SET dialect = 'clickhouse'Lenguaje de consulta relacional en canalización (PRQL)
Para habilitar PRQL:
SET allow_experimental_prql_dialect = 1; -- esta sentencia SET solo es necesaria para versiones de ClickHouse >= v25.1
SET dialect = 'prql'Ejemplo de consulta PRQL:
from trips
aggregate {
ct = count this
total_days = sum days
}Entre bastidores, ClickHouse utiliza la transpilación de PRQL a SQL para ejecutar consultas PRQL.
Lenguaje de consulta Kusto (KQL)
Para habilitar KQL:
SET allow_experimental_kusto_dialect = 1; -- esta sentencia SET solo es necesaria para versiones de ClickHouse >= 25.1
SET dialect = 'kusto'numbers(10) | project number┌─number─┐
│ 0 │
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
│ 6 │
│ 7 │
│ 8 │
│ 9 │
└────────┘Ten en cuenta que es posible que las consultas KQL no tengan acceso a todas las funciones definidas en ClickHouse.