Перейти к основному содержанию
Перейти к основному содержанию

Альтернативные языки запросов

Помимо стандартного SQL, ClickHouse поддерживает различные альтернативные языки запросов для работы с данными.

В настоящее время поддерживаются следующие диалекты:

Используемый язык запросов задаётся параметром dialect.

Стандартный SQL

Стандартный SQL — язык запросов, используемый в ClickHouse по умолчанию.

SET dialect = 'clickhouse'

Конвейерный реляционный язык запросов (PRQL)

Experimental feature. Learn more.

Чтобы включить поддержку 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)

Experimental feature. Learn more.

Чтобы включить поддержку 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.