|
La méthode d'enregistrement des résultats d'une requête SQL sous forme de table dépend du système de base de données spécifique que vous utilisez. Cependant, le concept général est le même :vous utilisez une instruction `CREATE TABLE ... AS SELECT` (ou une variante très similaire).
Voici des exemples de certains systèmes de bases de données populaires :
1. PostgreSQL :
```sql
CREATE TABLE nouvelle_table AS
SELECT colonne1, colonne2, ...
DEPUIS table_originale
OÙ état ;
```
Cela crée une nouvelle table nommée `new_table` avec les colonnes spécifiées et la remplit avec les résultats de la requête `SELECT`. Remplacez `column1`, `column2`, etc. par les noms de colonnes réels que vous souhaitez inclure, `original_table` par la table source et `WHERE condition` (facultatif) par n'importe quel critère de filtrage.
2. MySQL :
```sql
CREATE TABLE nouvelle_table AS
SELECT colonne1, colonne2, ...
DEPUIS table_originale
OÙ état ;
```
MySQL utilise la même syntaxe que PostgreSQL.
3. SQL Serveur :
```sql
SELECT colonne1, colonne2, ...
DANS nouvelle_table
DEPUIS table_originale
OÙ état ;
```
SQL Server utilise une syntaxe légèrement différente. La clause `INTO new_table` spécifie le nom de la nouvelle table.
4. Oracle :
```sql
CREATE TABLE nouvelle_table AS
SELECT colonne1, colonne2, ...
DEPUIS table_originale
OÙ état ;
```
La syntaxe d'Oracle est similaire à PostgreSQL et MySQL.
Considérations importantes :
* Tableau existant : Si une table portant le nom « new_table » existe déjà, vous obtiendrez une erreur. Vous devrez d'abord supprimer la table existante (en utilisant `DROP TABLE new_table;`), la renommer ou choisir un nom différent pour votre nouvelle table.
* Types de données : Les types de données des colonnes de la nouvelle table seront déduits des types de données des colonnes de l'instruction `SELECT`.
* Index : La nouvelle table n'aura automatiquement aucun index. Vous devrez peut-être créer des index ultérieurement pour des raisons de performances, en particulier si vous envisagez d'interroger fréquemment la nouvelle table.
* Autorisations : Assurez-vous que vous disposez des autorisations nécessaires pour créer des tables dans la base de données.
* Grands ensembles de données : Pour les ensembles de données très volumineux, envisagez d'utiliser d'autres méthodes telles que « INSERT INTO ... SELECT » pour de meilleures performances. Cette approche évite de créer la table entière en mémoire d’un coup. La méthode `INSERT INTO` est généralement plus efficace pour les transferts de données volumineux. Par exemple, dans PostgreSQL :
```sql
CREATE TABLE new_table (colonne1 type1, colonne2 type2, ...); --Définissez d'abord le schéma de la table
INSÉRER DANS new_table
SELECT colonne1, colonne2, ...
DEPUIS table_originale
OÙ état ;
```
N'oubliez pas de remplacer les espaces réservés par vos noms de table et de colonne spécifiques et d'ajuster la syntaxe en fonction de votre système de base de données. Sauvegardez toujours vos données avant d’apporter des modifications importantes au schéma.
|