Cours SQL et MySQL · Module 7: Joindre des tables (JOIN)
Alias de table - de courts numéros de catalogue
Dans cette leçon3
As-tu déjà remarqué les raccourcis k et a dans les requêtes ? Ce sont des alias de table - des numéros de catalogue temporaires et courts que nous donnons aux rayons pour la durée d'une seule requête.
Pourquoi des alias ?
Quand nous joignons des tables, la colonne id existe dans les deux. Comment la Bibliothèque saurait-elle si nous voulons dire ksiazki.id ou autorzy.id ? Nous devons préfixer le nom de la colonne par le nom de la table. Les noms complets, cependant, sont longs :
1SELECT ksiazki.tytul, autorzy.nazwisko
2FROM ksiazki
3INNER JOIN autorzy ON ksiazki.autor_id = autorzy.id;Plus court avec les alias
Nous donnons un alias juste après le nom de la table, en écrivant une lettre (ou un court raccourci) après un espace :
1SELECT k.tytul, a.nazwisko
2FROM ksiazki k
3INNER JOIN autorzy a ON k.autor_id = a.id;ksiazki k- désormais, dans cette requête,ksignifieksiazki.autorzy a-asignifieautorzy.
Grâce à cela, k.tytul et a.nazwisko sont courts et sans ambiguïté. Un alias ne fonctionne qu'à l'intérieur d'une seule requête - il ne change pas le nom de la table dans la base de données.
Bonne pratique
Par convention, nous choisissons des alias qui ressemblent au nom de la table : k pour ksiazki, a pour autorzy, c pour czytelnicy, w pour wypozyczenia, kat pour kategorie. Quand on joint trois rayons, les alias ménagent tes yeux !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Pourquoi utilise-t-on les alias k et a dans FROM ksiazki k INNER JOIN autorzy a ?
2. À quel endroit de la requête donne-t-on son alias à une table ?
Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.
Tâches pratiques dans le jeu
- Tri vertical
Ordonne les parties d'une requête qui joint des tables dans le bon ordre (de haut en bas, comme on les écrit dans l'éditeur) :
- Clique dans l'ordre
Clique sur les éléments dans l'ordre pour construire une requête qui joint la table ksiazki avec autorzy :
- Éditeur de code
Écris une requête qui affiche le tytul de chaque livre et le nom de sa catégorie (la colonne nazwa). Joins ksiazki (alias k) avec kategorie (alias kat) grâce à un INNER JOIN sur k.kategoria_id = kat.id.
- Éditeur de code
Écris une requête qui affiche le tytul du livre, le nom de la catégorie (nazwa) et la cena du livre. Joins ksiazki (alias k) avec kategorie (alias kat) grâce à INNER JOIN sur k.kategoria_id = kat.id.