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 d'une seule table. Maintenant, nous allons examiner comment gérer plusieurs tables.
Supposons que nous ayons les tables suivantes :
cours
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
Enseignants
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
La tâche consiste à présenter, pour chaque cours, le nom du lecturer correspondant.
Il existe deux façons de réaliser cela. Pour chaque option, nous mettons en correspondance chaque ligne d'une table avec l'autre. nous vérifions une condition qui doit être remplie et si la condition est remplie nous combinons les deux lignes en une. Le résultat souhaité pour les deux options :
| ID du cours | Nom de l'enseignant |
|---|---|
| 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 indiquons deux tables dans le mot-clé FROM, et dans la clause WHERE, nous demandons que le lecturer_id des deux enregistrements soit le même. Dans la clause SELECT, nous écrivons maintenant table.column afin que la base de données sache d'où récupérer la colonne.
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 jointure est également appelé une jointure interne.
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. Ordonnez le résultat par grade par ordre ascendant.
Aide-mémoire
Pour combiner des données de plusieurs tables, utilisez soit la syntaxe virgule avec WHERE, soit la syntaxe JOIN :
Option 1 : Syntaxe virgule avec WHERE
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.idOption 2 : Syntaxe JOIN
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.idUtilisez la syntaxe table.column pour spécifier de quelle table provient une colonne lors de la sélection à partir de plusieurs tables. Ce type de jointure est appelé une jointure interne.
Essayez vous-même
Cette 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 columns