Синтаксис
Аргументы
db_path— Путь к файлу базы данных SQLite. String.table_name— Имя таблицы в базе данных SQLite или запрос, передаваемый в SQLite как есть (см. Передача запроса вместо имени таблицы). String.
Возвращаемое значение
- Объект table с теми же столбцами, что и в исходной таблице
SQLite.
Передача запроса вместо имени таблицы
SELECT-запрос, который передаётся в SQLite как есть. Структура результирующей таблицы автоматически определяется по результату запроса. Запрос можно записать либо как подзапрос, либо обернуть в функцию query:
INSERT для неё недопустима. Тот же синтаксис поддерживается и движком таблицы SQLite.
Форма подзапроса
(SELECT ...) разбирается ClickHouse и повторно сериализуется перед отправкой в SQLite. Поэтому она должна быть корректным ClickHouse SQL. Чтобы передать синтаксис, специфичный для SQLite, который ClickHouse не разбирает, используйте форму query('...'), текст которой отправляется в SQLite дословно.Любые внешние WHERE, LIMIT, агрегация и т. п. из окружающего запроса к ClickHouse не переносятся в переданный запрос — они применяются в ClickHouse после получения полного результата запроса. Чтобы ограничить данные, считываемые из SQLite, поместите фильтр внутрь переданного запроса. При external_table_strict_query = 1 внешний фильтр, который нельзя перенести, вызывает исключение вместо локального применения.Пример
Query
Response
- SQLite — движок таблицы
- Движок базы данных SQLite — раздел о поддержке типов данных