Partie I
SQL de base
90
© Éditions Eyrolles
Insertion multiligne
Nous pouvons maintenant décrire l’insertion multiligne évoquée au chapitre précédent. Dans
l’exemple suivant, il s’agit d’insérer tous les pilotes de la table Pilote (en considérant le
nom, le nombre d’heures de vol et la compagnie) dans la table NomsetHVoldesPilotes :
Notez que les instructions (CREATE TABLE et INSERT...) peuvent être programmées en une
instruction (option AS SELECT de la commande CREATE TABLE) :
CREATE TABLE NomsetHVoldesPilotes AS SELECT nom, nbHVol, compa
FROM Pilote;
Limitation du nombre de lignes
Pour limiter le nombre de lignes à extraire à partir du résultat d’une requête, il faut spécifier la
clause LIMIT de la manière suivante :
LIMIT [rangDépart,] nbLignes
Tableau 4-8 Concaténation
Requête
Résultat
SELECT brevet,
AS "Embauche" FROM Pilote;
+--------+---------------------------------+
| brevet | Embauche
|
+--------+---------------------------------+
| PL-1
| Gratien Viel vole pour AF
|
| PL-2
| Didier Donsez vole pour AF
|
| PL-3
| Richard Grin vole pour SING
|
| PL-4
| Placide Fresnais vole pour CAST |
| PL-5
| Daniel Vielle vole pour AF
|
+--------+---------------------------------+
Web
CONCAT(nom,' vole pour ',compa)
Tableau 4-9 Insertion multiligne
Création et insertion
Requête et résultat
CREATE TABLE
NomsetHVoldesPilotes
(nom VARCHAR(16),
nbHVol DECIMAL(7,2),
compa CHAR(4));
INSERT INTO NomsetHVoldesPilotes
mysql> SELECT * FROM NomsetHVoldesPilotes;
+------------------+---------+-------+
| nom
| nbHVol | compa |
+------------------+---------+-------+
| Gratien Viel
| 450.00 | AF
|
| Didier Donsez
|
0.00 | AF
|
| Richard Grin
| 1000.00 | SING |
| Placide Fresnais | 2450.00 | CAST |
| Daniel Vielle
|
NULL | AF
|
+------------------+---------+-------+
Web
SELECT nom,nbHVol,compa
FROM Pilote;
Précédent

- 112/418

Suivant