Jointures Left, Right et Inner
La boutique en ligne a commandé davantage de produits auprès d’un fournisseur car le stock était presque épuisé. Cela signifie que nous avons un peu de temps libre jusqu’à l’arrivée de la livraison.
Profitons-en pour apprendre quelque chose de nouveau ! Jusqu’à présent, vous avez utilisé la commande JOIN standard en SQL, mais il existe d’autres types de jointures que vous pouvez utiliser.
Voici les 4 principaux types de jointures de tables :
INNER JOIN : Renvoie les lignes avec des valeurs correspondantes dans les deux tables. Il s’agit du même fonctionnement que la commande JOIN standard que vous avez utilisée :
LEFT JOIN : Renvoie toutes les lignes de la table de gauche ainsi que les lignes correspondantes de la table de droite. S’il n’y a pas de correspondance, il renvoie NULL pour la table de droite :
RIGHT JOIN : Renvoie toutes les lignes de la table de droite ainsi que les lignes correspondantes de la table de gauche. S’il n’y a pas de correspondance, il renvoie NULL pour la table de gauche :
FULL JOIN : Renvoie toutes les lignes lorsqu'il y a une correspondance dans l'une des tables. S'il n'y a pas de correspondance, il renvoie NULL pour les valeurs manquantes dans l'autre table :
Avant d'explorer l'utilisation de ces jointures, examinons les deux tables avec lesquelles nous allons travailler. Elles contiennent des informations sur les cours et les étudiants inscrits.
courses :
enrollments :
La syntaxe pour utiliser ces types de jointures est en réalité simple. Au lieu du classique JOIN ou INNER JOIN, il suffit de spécifier LEFT JOIN ou tout autre type de JOIN :
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Rédigez une requête pour obtenir la liste de tous les cours et des étudiants inscrits, y compris les cours sans étudiants enregistrés.
Vous devez extraire les colonnes suivantes dans cet ordre :
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilisez le type de JOIN approprié pour résoudre cette tâche !
Instructions brèves
- Extraire les colonnes
courses.course_id,courses.course_name,courses.description,enrollments.student_nameetenrollments.enrollment_datede la tablecourses. - Utiliser un LEFT JOIN pour joindre la table
enrollments. - La colonne commune aux deux tables est
courses.course_id = enrollments.course_id.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4
Jointures Left, Right et Inner
Glissez pour afficher le menu
La boutique en ligne a commandé davantage de produits auprès d’un fournisseur car le stock était presque épuisé. Cela signifie que nous avons un peu de temps libre jusqu’à l’arrivée de la livraison.
Profitons-en pour apprendre quelque chose de nouveau ! Jusqu’à présent, vous avez utilisé la commande JOIN standard en SQL, mais il existe d’autres types de jointures que vous pouvez utiliser.
Voici les 4 principaux types de jointures de tables :
INNER JOIN : Renvoie les lignes avec des valeurs correspondantes dans les deux tables. Il s’agit du même fonctionnement que la commande JOIN standard que vous avez utilisée :
LEFT JOIN : Renvoie toutes les lignes de la table de gauche ainsi que les lignes correspondantes de la table de droite. S’il n’y a pas de correspondance, il renvoie NULL pour la table de droite :
RIGHT JOIN : Renvoie toutes les lignes de la table de droite ainsi que les lignes correspondantes de la table de gauche. S’il n’y a pas de correspondance, il renvoie NULL pour la table de gauche :
FULL JOIN : Renvoie toutes les lignes lorsqu'il y a une correspondance dans l'une des tables. S'il n'y a pas de correspondance, il renvoie NULL pour les valeurs manquantes dans l'autre table :
Avant d'explorer l'utilisation de ces jointures, examinons les deux tables avec lesquelles nous allons travailler. Elles contiennent des informations sur les cours et les étudiants inscrits.
courses :
enrollments :
La syntaxe pour utiliser ces types de jointures est en réalité simple. Au lieu du classique JOIN ou INNER JOIN, il suffit de spécifier LEFT JOIN ou tout autre type de JOIN :
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Rédigez une requête pour obtenir la liste de tous les cours et des étudiants inscrits, y compris les cours sans étudiants enregistrés.
Vous devez extraire les colonnes suivantes dans cet ordre :
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilisez le type de JOIN approprié pour résoudre cette tâche !
Instructions brèves
- Extraire les colonnes
courses.course_id,courses.course_name,courses.description,enrollments.student_nameetenrollments.enrollment_datede la tablecourses. - Utiliser un LEFT JOIN pour joindre la table
enrollments. - La colonne commune aux deux tables est
courses.course_id = enrollments.course_id.
Solution
Merci pour vos commentaires !
single