Jointure de base, partie 1
Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 43 sur 72.
Jusqu'à présent, nous avons abordé des problèmes concernant une seule table. Nous allons maintenant 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 | nom |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
La tâche consiste à présenter chaque cours avec le nom de l’enseignant correspondant.
Il existe deux façons d’y parvenir. Pour chaque option, nous associons chaque ligne d’une table à l’autre. Nous vérifions une condition qui doit être satisfaite et, si la condition est satisfaite, 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 avec le mot-clé FROM et, dans la clause WHERE, nous demandons que le lecturer_id des deux enregistrements soit identique. Dans la clause SELECT, nous écrivons maintenant table.column afin que la base de données sache 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 :
grades:course_id,student_id,gradestudents:id,name
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 note dans l’ordre croissant.
Essayez vous-même
-- Liste les colonnes que la tâche demande, en utilisant l'alias qu'elle demande
SELECT ____
FROM students, grades
-- Ne garde 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
1Introduction
IntroductionQu’est-ce qu’une base de donnéesConcepts des bases de donnéesValeurs uniques4D’autres mots-clés
Le mot-clé INLe mot-clé BETWEENLe mot-clé LIKELe mot-clé ASRécapitulatif - Modèles de téléphones portables2Conditions
Bases des conditionsLe mot-clé ANDLe mot-clé ORLe mot-clé NOTCombinaison de plusieurs conditionsParenthèsesBooléens5Opérations arithmétiques
Opérateurs mathématiquesColonnes mathématiquesL’opération moduloLa fonction ROUND()3Format de retour spécifique
Valeurs NULLTrier les résultats, partie 1Trier les résultats, partie 2Récapitulatif - Entreprise de cybersécuritéLimiter le nombre d’enregistrementsRécapitulatif - Usine de véhicules6Défis d’introduction
Récapitulatif - Élection parlementaireRécapitulatif - Arrestation criminelle par la policeRécapitulatif - Récipient de boisson au barRécapitulatif - Ingénieur de nouvelles colonnes9Tables multiples
Jointure de base, partie 1Jointure de base, partie 2Récapitulatif - JointureAuto-jointureRécapitulatif - Auto-jointureUnionSimplifier les requêtes, mot-clé WITHRécapitulatif - Requêtes WITHRécapitulatif - Entrepreneur immobilier12Fonctions de fenêtre – partie 2
Fonctions RANK & DENSE_RANKRécapitulatif – RANK & DENSE_RANKFonction NTILEFonctions d’agrégationCritère ROWS & RANGEEntraînez-vous par vous-même : Playground SQL