> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur la création de tables temporaires

# CREATE TEMPORARY TABLE

<div id="temporary-table-support">
  ## Prise en charge des tables temporaires
</div>

<Note>
  Notez que les tables temporaires ne sont pas répliquées. Par conséquent, rien ne garantit que les données insérées dans une table temporaire seront disponibles sur les autres répliques. Les tables temporaires sont principalement utiles pour interroger ou joindre de petits jeux de données externes au cours d’une même session.
</Note>

ClickHouse prend en charge les tables temporaires, qui présentent les caractéristiques suivantes :

* Les tables temporaires disparaissent à la fin de la session, y compris en cas de perte de connexion.
* Une table temporaire utilise le moteur de table Memory lorsqu’aucun moteur n’est spécifié et peut utiliser n’importe quel moteur de table, à l’exception de Replicated et `KeeperMap`.
* Il n’est pas possible de spécifier une DB pour une table temporaire. Celle-ci est créée en dehors des bases de données.
* Il est impossible de créer une table temporaire à l’aide d’une requête DDL distribuée sur tous les serveurs du cluster (avec `ON CLUSTER`) : cette table n’existe que dans la session en cours.
* Si une table temporaire porte le même nom qu’une autre table et qu’une requête spécifie le nom de la table sans indiquer la DB, la table temporaire est utilisée.
* Pour le traitement distribué des requêtes, les tables temporaires utilisant le moteur Memory et référencées dans une requête sont transmises aux serveurs distants.

<div id="syntax">
  ## Syntaxe
</div>

Pour créer une table temporaire, utilisez la syntaxe suivante :

```sql theme={null}
CREATE [OR REPLACE] TEMPORARY TABLE [IF NOT EXISTS] table_name
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) [ENGINE = engine]
```

Dans la plupart des cas, les tables temporaires ne sont pas créées manuellement, mais lors de l'utilisation de données externes pour une requête ou pour un `(GLOBAL) IN` distribué. Pour plus d'informations, consultez les sections correspondantes.

Il est possible d'utiliser des tables avec [ENGINE = Memory](/docs/fr/reference/engines/table-engines/special/memory) à la place des tables temporaires.
