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 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.