préciser
Espece.description,
-- ici, on pourrait mettre juste
description
Animal.nom
-- idem, la précision n'est pas
obligatoire. C'est cependant plus clair puisque les espèces ont un
nom aussi
FROM Espece
INNER JOIN Animal
ON Espece.id = Animal.espece_id
WHERE Animal.nom LIKE 'Ch%';
id
description
nom
2 Bestiole à quatre pattes qui saute très haut et grimpe aux arbres Choupi
3 Bestiole avec une carapace très dure
Cheli
3 Bestiole avec une carapace très dure
Chicaca
Utiliser les alias
Les alias sont souvent utilisés avec les jointures. Ils permettent notamment de renommer les tables, et ainsi d'écrire moins de
code.
Exemple : on renomme la table Espece "e", et la table Animal "a".
Code : SQL
SELECT e.id,
e.description,
a.nom
FROM Espece AS e
-- On donne l'alias "e" à Espece
INNER JOIN Animal AS a
-- et l'alias "a" à Animal.
ON e.id = a.espece_id
WHERE a.nom LIKE 'Ch%';
Comme vous le voyez, le code est plus compact. Ici encore, c'est quelque chose que j'utilise souvent pour de petites requêtes
ponctuelles. Par contre, pour de grosses requêtes, je préfère les noms explicites ; c'est ainsi plus facile de s'y retrouver.
Une autre utilité des alias est de renommer les colonnes pour que le résultat soit plus clair. Observez le résultat de la requête
précédente. Vous avez trois colonnes : id , description et nom. Le nom de la table dont provient la colonne n'est indiqué nulle
part. A priori, vous savez ce que vous avez demandé, surtout qu'il n'y a pas encore trop de colonnes, mais imaginez que vous
sélectionniez une vingtaine de colonnes. Ce serait quand même mieux de savoir de quel id on parle, s'il s'agit du nom de l'animal,
de son maître, du père, du fils ou du Saint-Esprit !
Il est intéressant là aussi d'utiliser les alias.
Exemple : on donne des alias aux colonnes (id_espece pour id de la table Espece, description_espece pour Espece.description
et nom_bestiole pour Animal.nom).
Code : SQL
SELECT Espece.id AS id_espece,
Espece.description AS description_espece,
Animal.nom AS nom_bestiole
FROM Espece
INNER JOIN Animal
ON Espece.id = Animal.espece_id
WHERE Animal.nom LIKE 'Ch%';
Partie 2 : Index, jointures et sous-requêtes
102/414
www.openclassrooms.com
Précédent

- 102/413

Suivant