Skip to main content
Permet d’exécuter des requêtes sur des données stockées dans une base de données SQLite.

Syntaxe

Arguments

Valeur renvoyée

  • Un objet de table avec les mêmes colonnes que la table SQLite d’origine.

Passer une requête au lieu d’un nom de table

Au lieu d’un nom de table, le deuxième argument peut être une requête SELECT transmise telle quelle à SQLite. La structure de la table obtenue est déduite du résultat de la requête. La requête peut être écrite soit sous forme de sous-requête, soit encapsulée dans la fonction query :
Une telle table est en lecture seule : INSERT n’y est pas autorisé. La même syntaxe est prise en charge par le moteur de table SQLite.
La forme de sous-requête (SELECT ...) est analysée par ClickHouse, puis re-sérialisée avant d’être envoyée à SQLite. Elle doit donc être valide en ClickHouse SQL. Pour transmettre une syntaxe propre à SQLite que ClickHouse n’analyse pas, utilisez la forme query('...'), dont le texte est envoyé tel quel à SQLite.Les clauses externes WHERE, LIMIT, les agrégations, etc., de la requête ClickHouse englobante ne sont pas répercutées dans la requête transmise — elles sont appliquées dans ClickHouse après la récupération du résultat complet de la requête. Pour limiter les données lues depuis SQLite, placez le filtre dans la requête transmise. Avec external_table_strict_query = 1, un filtre externe qui ne peut pas être répercuté provoque une exception au lieu d’être appliqué localement.

Exemple

Query
Response
Dernière modification le 23 juillet 2026