PaliSkill
SQL Intermédiaire

Leçon 6 / 8 — Chapitre 10: Mise en pratique : restaurant

INSERT INTO … SELECT : dupliquer un ticket favori

Comme au chapitre 6, INSERT INTO ... SELECT permet de recréer une commande à partir d'une existante, sans ressaisir ses valeurs à la main.

INSERT INTO tickets (plat_id, quantite, semaine)
SELECT plat_id, quantite, 'cette_semaine'
FROM tickets WHERE id = 2;

Cette instruction copie plat_id (2) et quantite (3) du ticket 2 dans une toute nouvelle ligne — mais pas sa valeur de semaine : 'cette_semaine' est une valeur littérale, écrite directement dans le SELECT, qui remplace ce que contenait le ticket d'origine (qui était déjà 'cette_semaine' dans ce cas précis, mais aurait pu être différent).

À retenir :

  • Un SELECT utilisé dans un INSERT INTO ... SELECT peut mélanger des colonnes copiées telles quelles (plat_id, quantite) et des valeurs littérales fixes ('cette_semaine'), du moment que le nombre total de colonnes correspond.
  • Cette technique évite de ressaisir des valeurs déjà connues, tout en permettant de forcer certaines colonnes à une valeur différente de la ligne source.

À vous de jouer : si le ticket source avait semaine = 'semaine_derniere', la nouvelle ligne créée par cet INSERT porterait-elle quand même semaine = 'cette_semaine' ?

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

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

Votre paiement est vérifié avant l'activation de l'accès