Contenu du cours
SQL Intermédiaire
SQL Intermédiaire
Jointures LEFT, RIGHT et INNER
La boutique en ligne a commandé plus de produits auprès d'un fournisseur car les stocks étaient insuffisants. Cela signifie que nous avons un peu de temps libre avant l'arrivée de la livraison.
Profitons de cette opportunité pour apprendre quelque chose de nouveau ! Jusqu'à présent, vous utilisiez le 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 ayant des valeurs correspondantes dans les deux tables. C'est la même chose que le JOIN standard que vous utilisiez ;
LEFT JOIN
: Renvoie toutes les lignes de la table de gauche et 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
: Retourne toutes les lignes de la table de droite et 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
: Retourne 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 de plonger dans l'utilisation de ces jointures, examinons les deux tables avec lesquelles nous allons travailler. Elles contiennent des détails 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 familier JOIN
ou INNER JOIN
, spécifiez simplement LEFT JOIN
ou tout autre type de JOIN
:
Swipe to start coding
Écrivez une requête pour récupérer une liste de tous les cours et des étudiants inscrits, y compris les cours sans étudiants enregistrés.
Vous devez récupérer les colonnes suivantes dans cet ordre:
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
à partir de 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 !
Jointures LEFT, RIGHT et INNER
La boutique en ligne a commandé plus de produits auprès d'un fournisseur car les stocks étaient insuffisants. Cela signifie que nous avons un peu de temps libre avant l'arrivée de la livraison.
Profitons de cette opportunité pour apprendre quelque chose de nouveau ! Jusqu'à présent, vous utilisiez le 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 ayant des valeurs correspondantes dans les deux tables. C'est la même chose que le JOIN standard que vous utilisiez ;
LEFT JOIN
: Renvoie toutes les lignes de la table de gauche et 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
: Retourne toutes les lignes de la table de droite et 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
: Retourne 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 de plonger dans l'utilisation de ces jointures, examinons les deux tables avec lesquelles nous allons travailler. Elles contiennent des détails 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 familier JOIN
ou INNER JOIN
, spécifiez simplement LEFT JOIN
ou tout autre type de JOIN
:
Swipe to start coding
Écrivez une requête pour récupérer une liste de tous les cours et des étudiants inscrits, y compris les cours sans étudiants enregistrés.
Vous devez récupérer les colonnes suivantes dans cet ordre:
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
à partir de 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 !