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 JOIN standard que vous avez utilisé jusqu'à présent ;
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 renvoieNULL
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 renvoieNULL
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 renvoieNULL
pour les valeurs manquantes dans l'autre table.
Avant d'explorer l'utilisation de ces jointures, examinons les deux tables que nous allons utiliser. Elles contiennent des informations sur les cours et les étudiants inscrits à ces cours.
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
Écrivez une requête pour récupérer 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
- Récupérez les colonnes
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
etenrollments.enrollment_date
depuis la tablecourses
. - Utilisez un LEFT JOIN pour joindre la table
enrollments
. - La colonne commune pour les 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
Can you explain the differences between each type of join with examples?
How do I decide which type of join to use in a specific scenario?
Can you show how these joins would work with the provided `courses` and `enrollments` tables?
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 JOIN standard que vous avez utilisé jusqu'à présent ;
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 renvoieNULL
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 renvoieNULL
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 renvoieNULL
pour les valeurs manquantes dans l'autre table.
Avant d'explorer l'utilisation de ces jointures, examinons les deux tables que nous allons utiliser. Elles contiennent des informations sur les cours et les étudiants inscrits à ces cours.
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
Écrivez une requête pour récupérer 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
- Récupérez les colonnes
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
etenrollments.enrollment_date
depuis la tablecourses
. - Utilisez un LEFT JOIN pour joindre la table
enrollments
. - La colonne commune pour les deux tables est
courses.course_id = enrollments.course_id
.
Solution
Merci pour vos commentaires !
Awesome!
Completion rate improved to 4single