Les alias
Les alias de colonnes (champs)
Ils ont été déjà utilisés lors des champs calculés; Ces colommes n'ayant pas de nom l'affichage par défaut est par exemple AVG(prix), COUNT(*), Afin que ce soit plus parlant nou savions utilisé l'expression AS qui permet de nommer ces colonnes. Le nom désigné est donc l'alias de cette colonne.
Exemple avec le nombre d'ouvrages:
SELECT COUNT(*) AS Nombre_de_livres FROM livre
Nombre_de_livres |
21 |
Même chose avec le prix moyen:
SELECT ROUND(AVG(prix),2) AS Prix_Moyen_par_Livre FROM livre
Prix_Moyen_par_Livre |
8.62 |
Ainsi que pour un champ calculé, le prix par page (limité à 5 réponses).
SELECT titre, ROUND(prix/nb_pages,2) AS Prix_par_page FROM livre LIMIT 10,5
titre | Prix_par_page |
La peau de chagrin | 0.03 |
Eugénie grandet | 0.02 |
L'amant | 0.05 |
Un barrage contre le pacifique | 0.02 |
La vie devant soi | 0.03 |
Les alias de tables
Cette notation est valable également pour les tables, ce qui permet de rendre l'écriture des requetes de jointures moins pénible. Pour le nom et prénom de l'auteur et l etitre des ouvrages correspondant on avait:
SELECT nom, prenom, titre FROM auteur, livre WHERE (auteur.id_auteur=livre.id_auteur)
nom | prenom | titre |
aron | raymond | Les Modernes |
aron | jean-paul | Les désillusions du progrès |
perry | anne | Un plat qui se mange froid |
hillerman | tony | Moon |
py | bernard | Statistiques descriptives |
aron | jean-paul | Introduction à la philosophie politique |
camus | albert | L'étranger |
camus | albert | La peste |
zola | emile | Au bonheur des dames |
hillerman | tony | Le premier aigle |
balzac | honore | La peau de chagrin |
balzac | honore | Eugénie grandet |
duras | marguerite | L'amant |
duras | marguerite | Un barrage contre le pacifique |
gary | romain | La vie devant soi |
forta | ben | sql |
dubois | paul | MySQL |
zola | emile | La debâcle |
perry | pascal | Le tourisme à la Martinique : sous la plage, les conflits |
balzac | honore | Le père Goriot |
zola | emile | Nana |
L'obligation de réécrire le nom des tables dans la clause de restriction rend ces requêtes parfois pénibles à écrire. C'est souvent plus simple avec les alias:
SELECT nom, prenom, titre FROM auteur AS a, livre AS l WHERE (a.id_auteur=l.id_auteur)
nom | prenom | titre |
aron | raymond | Les Modernes |
aron | jean-paul | Les désillusions du progrès |
perry | anne | Un plat qui se mange froid |
hillerman | tony | Moon |
py | bernard | Statistiques descriptives |
aron | jean-paul | Introduction à la philosophie politique |
camus | albert | L'étranger |
camus | albert | La peste |
zola | emile | Au bonheur des dames |
hillerman | tony | Le premier aigle |
balzac | honore | La peau de chagrin |
balzac | honore | Eugénie grandet |
duras | marguerite | L'amant |
duras | marguerite | Un barrage contre le pacifique |
gary | romain | La vie devant soi |
forta | ben | sql |
dubois | paul | MySQL |
zola | emile | La debâcle |
perry | pascal | Le tourisme à la Martinique : sous la plage, les conflits |
balzac | honore | Le père Goriot |
zola | emile | Nana |
C'est encore plus vrai quand il y a plus de deux tables: Comparons
SELECT UCASE(nom), prenom, titre, nom_editeur FROM auteur, livre, editeur WHERE (auteur.id_auteur=livre.id_auteur AND livre.id_editeur=editeur.id_editeur)ORDER BY nom, prenom
UCASE(nom) | prenom | titre | nom_editeur |
ARON | jean-paul | Les désillusions du progrès | Gallimard |
ARON | jean-paul | Introduction à la philosophie politique | Gallimard |
ARON | raymond | Les Modernes | Gallimard |
BALZAC | honore | Eugénie grandet | Livre de poche |
BALZAC | honore | Le père Goriot | Livre de poche |
BALZAC | honore | La peau de chagrin | Livre de poche |
CAMUS | albert | La peste | Gallimard |
CAMUS | albert | L'étranger | Gallimard |
DUBOIS | paul | MySQL | Campus Press |
DURAS | marguerite | L'amant | Minuit |
DURAS | marguerite | Un barrage contre le pacifique | Gallimard |
FORTA | ben | sql | Campus Press |
GARY | romain | La vie devant soi | Gallimard |
HILLERMAN | tony | Le premier aigle | Seuil |
HILLERMAN | tony | Moon | Seuil |
PERRY | anne | Un plat qui se mange froid | Seuil |
PERRY | pascal | Le tourisme à la Martinique : sous la plage, les conflits | Khartala |
PY | bernard | Statistiques descriptives | Economica |
ZOLA | emile | Au bonheur des dames | Livre de poche |
ZOLA | emile | Nana | Livre de poche |
ZOLA | emile | La debâcle | Gallimard |
SELECT UCASE(nom), prenom, titre, nom_editeur FROM auteur AS a, livre AS l, editeur AS e WHERE (a.id_auteur=l.id_auteur AND l.id_editeur=e.id_editeur)ORDER BY nom, prenom
UCASE(nom) | prenom | titre | nom_editeur |
ARON | jean-paul | Les désillusions du progrès | Gallimard |
ARON | jean-paul | Introduction à la philosophie politique | Gallimard |
ARON | raymond | Les Modernes | Gallimard |
BALZAC | honore | Eugénie grandet | Livre de poche |
BALZAC | honore | Le père Goriot | Livre de poche |
BALZAC | honore | La peau de chagrin | Livre de poche |
CAMUS | albert | La peste | Gallimard |
CAMUS | albert | L'étranger | Gallimard |
DUBOIS | paul | MySQL | Campus Press |
DURAS | marguerite | L'amant | Minuit |
DURAS | marguerite | Un barrage contre le pacifique | Gallimard |
FORTA | ben | sql | Campus Press |
GARY | romain | La vie devant soi | Gallimard |
HILLERMAN | tony | Le premier aigle | Seuil |
HILLERMAN | tony | Moon | Seuil |
PERRY | anne | Un plat qui se mange froid | Seuil |
PERRY | pascal | Le tourisme à la Martinique : sous la plage, les conflits | Khartala |
PY | bernard | Statistiques descriptives | Economica |
ZOLA | emile | Au bonheur des dames | Livre de poche |
ZOLA | emile | Nana | Livre de poche |
ZOLA | emile | La debâcle | Gallimard |