PaliSkill
← SQL Intermédiaire

Leçon 2 / 10 — Chapitre 6: Modifier les données avec rigueur

INSERT INTO … SELECT

INSERT INTO ... SELECT insère dans une table le résultat d'une requête SELECT, plutôt qu'une valeur littérale — utile pour copier ou migrer des données d'une table vers une autre.

INSERT INTO abonnes (nom, email)
SELECT nom, email FROM anciens_abonnes WHERE statut = 'a_migrer';

Aucun mot-clé VALUES ici : le SELECT fournit directement les lignes à insérer, autant que la requête en renvoie. Le nombre de colonnes du SELECT (nom, email) doit correspondre exactement au nombre de colonnes listées après INSERT INTO abonnes — sans quoi l'instruction échoue.

À retenir :

  • INSERT INTO table (colonnes) SELECT ... ; insère le résultat d'une requête, sans VALUES.
  • Le nombre de colonnes renvoyées par le SELECT doit correspondre exactement au nombre de colonnes listées dans l'INSERT INTO.
  • Cette technique insère autant de lignes que le SELECT en renvoie — 0, 1, ou plusieurs milliers, en une seule instruction.

À vous de jouer : écrivez un INSERT INTO ... SELECT qui copierait, dans une table abonnes_archive, tous les abonnés de abonnes dont le statut vaut 'inactif'.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 87 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.