Menu
Coddy logo textTech

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_idlecturer_id
11
21
32

Enseignants

lecturer_idname
1Jhonas
2Malidos

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 coursNom de l'enseignant
1Jhonas
2Jhonas
3Malidos

Option 1 :

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Ici, 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_id

Au lieu de WHERE nous utilisons JOIN table ON condition

Ce type de jointure est également appelé une jointure interne.

challenge icon

Défi

Facile

Tables 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.id

Option 2 : Syntaxe JOIN

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.id

Utilisez 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

quiz iconTestez-vous

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