Extraction simple des données.

Principe: SELECT    FROM

Celle-ci s'obtient par l'intermédiaire de la commande SELECT. Le principe d'utilisation est le suivant:

SELECT nom_du_ou_des_champs FROM nom_de_la_table

Ainsi la liste du nom des éditeurs s'obtient de la manière suivante:

SELECT nom_editeur FROM editeur

Ce qui donne:

nom_editeur 
Gallimard 
Dunod 
Khartala 
Economica 
Seuil 
Livre de poche 
Minuit 
Campus Press 

Pour insérer plusieurs champs (colonnes) il suffit de préciser leurs noms, séparés par une virgule. Ainsi pour le nom de chaque éditeur et ses collections:

SELECT nom_editeur, collections FROM editeur

Pour avoir:

nom_editeur collections 
Gallimard romans français et étrangers, sciences humaines, poésie 
Dunod sciences gestion informatique 
Khartala tourisme et poltique 
Economica gestion économie statistiques 
Seuil Rivages -romans essais 
Livre de poche romans format poche 
Minuit romans essais contemporains 
Campus Press Informatique 
Remarque: l'ordre de saisie des champs dans la requête a une incidence directe sur l'odre des colonnes.

L'extraction de toutes les colonnes s'obtient sans difficultés grâce à un caractère de substitution: *

SELECT * FROM editeur

id_editeur nom_editeur adresse collections 
Gallimard paris romans français et étrangers, sciences humaines, poésie 
Dunod paris sciences gestion informatique 
Khartala guadeloupe tourisme et poltique 
Economica Paris gestion économie statistiques 
Seuil paris Rivages -romans essais 
Livre de poche paris romans format poche 
Minuit paris romans essais contemporains 
Campus Press Paris Informatique 

Listons à présent la colonne id_auteur de la table livre:

SELECT id_auteur FROM livre

id_auteur 
aron1 
aron2 
perr1 
hill1 
py1 
aron2 
camu1 
camu1 
zola1 
hill1 
balz1 
balz1 
dura1 
dura1 
gary1 
fort1 
dubo1 
zola1 
perr2 
balz1 
zola1 

Certains noms revienent plusieurs fois puisque les auteurs correspondants ont écrit plusieurs ouvrages dans cette liste de livres. L'option DISTINCT permet d'éviter une telle répétition:

SELECT DISTINCT id_auteur FROM livre

Et là chaque nom n'apparaît qu'une seule fois.

id_auteur 
aron1 
aron2 
perr1 
hill1 
py1 
camu1 
zola1 
balz1 
dura1 
gary1 
fort1 
dubo1 
perr2 

Limiter le nombre d'enregistrements

Listons l'id_livre et le titre de chaque livre:

SELECT code, titre FROM livre

code titre 
Les Modernes 
Les désillusions du progrès 
Un plat qui se mange froid 
Moon 
Statistiques descriptives 
Introduction à la philosophie politique 
L'étranger 
La peste 
Au bonheur des dames 
10 Le premier aigle 
11 La peau de chagrin 
12 Eugénie grandet 
13 L'amant 
14 Un barrage contre le pacifique 
15 La vie devant soi 
16 sql 
17 MySQL 
18 La debâcle 
19  Le tourisme à la Martinique : sous la plage, les conflits 
20 Le père Goriot 
21 Nana 

On n'a pas forcément besoin de la liste complète de ces ouvrages; par exemple les 10 premiers peuvent suffire. Il ne s'agit pas d'un filtre mais d'une simple limitation quantitative du nombre de lignes que la requête proposée provoque. La clause LIMIT permet cela. Celle-ci s'insère à la fin de la requête et comprend deux valeurs: LIMIT 0, 10, ce qui veut dire qu'on souhaite limiter le nmbre de réponses à 10 à partir de la première (la première ligne de réponse porte le numéro 0, la seconde le numéro 1, ...):

SELECT code, titre FOM livre LIMIT 0,10

code titre 
Les Modernes 
Les désillusions du progrès 
Un plat qui se mange froid 
Moon 
Statistiques descriptives 
Introduction à la philosophie politique 
L'étranger 
La peste 
Au bonheur des dames 
10 Le premier aigle 

A présent limitons à 8 à partir de la 6 ème ligne:

SELECT code, titre FROM livre LIMIT 5, 8

code titre 
Introduction à la philosophie politique 
L'étranger 
La peste 
Au bonheur des dames 
10 Le premier aigle 
11 La peau de chagrin 
12 Eugénie grandet 
13 L'amant 

C'est vraiment l'ordre des réponses et pas l'ordre des enregistrements comme les requêtes précédentes pourraient le laisser penser; exemple ci-dessous avec la même requête doté d'un tri (voir plus loin) croissant sur le titre.

SELECT code, titre FROM livre ORDER BY titre LIMIT 5, 8

code titre 
13 L'amant 
18 La debâcle 
11 La peau de chagrin 
La peste 
15 La vie devant soi 
20 Le père Goriot 
10 Le premier aigle 
Les désillusions du progrès 

A vous

Rappel du modèle:

auteur (id_auteur, nom, prenom, pseudo, nationalite, siecle)
editeur (id_editeur, nom, adresse, collections)
genre (id_genre, type, precisions)
livre (code, titre, nb_pages, prix, #id_auteur, #id_genre, #id_editeur)

Saisir les requêtes permettant d'obtenir les informations suivantes:

1 - Noms et prénoms des auteurs
2 - Toutes les colonnes de la table genre
3 - Le titre , le prix et le nombre de pages de la table livre (on limitera le nombre de réponses à 5 à partir de la 10ème ligne).


Saisir votre requête

Aristeri.com est le site de Bernard Andruccioli Mentions légales -
/?rubrique=SQL_ExtraireResource id #16