Avec SQL, vous pouvez copier des informations d'une table dans un autre.
L'INSERT INTO SELECT instruction copie les données d'une table et l'insère dans une table existante.
L'instruction SQL INSERT INTO SELECT
L'instruction INSERT INTO SELECT sélectionne des données d'une table et l'insère dans une table existante. Toutes les lignes existantes dans la table cible ne sont pas affectés.
SQL INSERT INTO SELECT Syntaxe
Nous pouvons copier toutes les colonnes d'une table à une autre, table existante:
INSERT INTO table2
SELECT * FROM table1;
Ou nous pouvons copier uniquement les colonnes que nous voulons dans un autre, une table existante:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
Base de données Demo
Dans ce tutoriel, nous allons utiliser la base de données Northwind bien connu.
Voici une sélection de la "Customers" tableau:
N ° de client | CustomerName | Nom du contact | Adresse | Ville | Code postal | Pays |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
Et une sélection de la "Suppliers" tableau:
SupplierID | Nom du fournisseur | Nom du contact | Adresse | Ville | code postal | Pays | Téléphone |
---|---|---|---|---|---|---|---|
1 | Liquid Exotic | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | Royaume-Uni | (171) 555-2222 |
2 | La Nouvelle-Orléans Cajun Delights | Shelley Burke | PO Box 78934 | Nouvelle Orléans | 70117 | Etats-Unis | (100) 555-4822 |
3 | Le Homestead de grand-mère Kelly | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | Etats-Unis | (313) 555-5735 |
Exemples SQL INSERT INTO SELECT
Copiez seulement quelques colonnes de "Suppliers" dans "Customers" :
Exemple
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
Essayez - le vous - même » Copiez uniquement les fournisseurs allemands dans les "Customers" :
Exemple
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
Essayez - le vous - même »