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.

Utilisation d’une requête à la place 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 14 août 2026