Ajout des lignes dans une table en provenance d’une autre table

Nous avons vu  précédemment comment créer une table à partir d’une autre table. Ici nous allons voir qu’il est aussi possible de copier des données d’une table vers une autre table.  Pour cela, il faut que les structures des tables soient compatibles.
Pour faire la copie, il suffit  de combiner la requête INSERT avec la requête SELECT.

Syntaxe :
INSERT INTO table1 (colonne1a, colonne1b, ...)
SELECT colonne2a, colonne2b, ... FROM table2 WHERE condition




Exemple:
On a deux tables qui sont la table eleves et la table eleves_terminal

Table eleves

id nom prenom age sexe classe
1 Dubois Jack 13 Masculin 5ème
2 Mariam Youssouf 16 Féminin seconde
3 Li Chao 15 Masculin seconde
4 Karihila Djalimou 17 Masculin terminale


Table eleves_terminal

id nom prenom age sexe
1 Hassane Ahmed 17 Masculin
2 Fofana Christine 18 Féminin

Maintenant on va copier dans la table eleves_terminal  les élèves de la classe terminale se trouvant dans la table eleves

Voici le code SQL :
 

INSERT INTO eleves_terminal (nom, prenom, age, sexe)
SELECT nom, prenom, age, sexe FROM eleves WHERE classe='terminale';

Maintenant si vous consultez la table eleves_terminal, vous verrez bien que l’élève Karihila Djalimou a été bien ajouté dans la table.