Basic Join Part 1
Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 43 sur 72.
Jusqu'à présent, nous avons traité des problèmes liés à une seule table. Nous allons maintenant examiner comment gérer plusieurs tables.
Supposons que nous ayons les tables suivantes :
courses
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
lecturers
| lecturer_id | nom |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
La tâche consiste à présenter chaque cours avec le nom du professeur correspondant.
Il existe deux façons d'y parvenir. Pour chaque option, nous faisons correspondre chaque ligne d'une table à l'autre. Nous vérifions une condition qui doit être remplie et si cette condition est remplie, nous combinons les deux lignes en une seule. Le résultat souhaité pour les deux options :
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Option 1 :
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idIci, nous écrivons deux tables dans le mot-clé FROM, et dans la clause WHERE nous demandons que le lecturer_id des deux enregistrements soit same. Dans la clause SELECT, nous écrivons maintenant table.column afin que la base de données sache où récupérer la column.
Option 2 :
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idAu lieu de WHERE, nous utilisons JOIN table ON condition
Ce type de jonction est également appelé une jointure interne (inner join).
Défi
FacileTables et colonnes disponibles :
<strong>grades</strong>:<strong>course_id</strong>,<strong>student_id</strong>,<strong>grade</strong><strong>students</strong>:<strong>id</strong>,<strong>name</strong>
Créez une requête qui récupère student_name, course_id, student_id et grade dans une seule table. Triez le résultat par grade par ordre croissant.
Essayez vous-même
-- Liste les colonnes demandées par la tâche, en utilisant l'alias demandé
SELECT ____
FROM students, grades
-- Ne conserve que les paires de lignes où les deux tables décrivent la même personne
WHERE ____
ORDER BY gradeCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columnsEntraînez-vous par vous-même : Playground SQL