Kursinhalt
Fortgeschrittene SQL
Fortgeschrittene SQL
Left-, Right- und Inner-Joins
Der Online-Shop hat mehr Produkte von einem Lieferanten bestellt, weil der Lagerbestand zu niedrig war. Das bedeutet, dass wir etwas freie Zeit haben, bis die Lieferung eintrifft.
Nutzen wir diese Gelegenheit, um etwas Neues zu lernen! Bisher hast du den Standard JOIN
in SQL verwendet, aber es gibt auch andere Arten von Joins, die du verwenden kannst.
Hier sind die 4 Haupttypen von Tabellen-Joins:
INNER JOIN
: Gibt Zeilen mit übereinstimmenden Werten in beiden Tabellen zurück. Das ist dasselbe wie der Standard JOIN, den du bisher verwendet hast;
LEFT JOIN
: Gibt alle Zeilen der linken Tabelle und die übereinstimmenden Zeilen der rechten Tabelle zurück. Falls es keine Übereinstimmungen gibt, wirdNULL
für die rechte Tabelle zurückgegeben;
RIGHT JOIN
: Gibt alle Zeilen aus der rechten Tabelle und die übereinstimmenden Zeilen aus der linken Tabelle zurück. Wenn keine Übereinstimmung vorhanden ist, wirdNULL
für die linke Tabelle zurückgegeben;
FULL JOIN
: Gibt alle Zeilen zurück, wenn es in einer der Tabellen eine Übereinstimmung gibt. Wenn keine Übereinstimmungen vorliegen, wirdNULL
für die fehlenden Werte in der anderen Tabelle zurückgegeben.
Bevor wir diese Joins anwenden, schauen wir uns die beiden Tabellen an, mit denen wir arbeiten werden. Sie enthalten Details zu Kursen und den eingeschriebenen Studierenden.
courses
:
enrollments
:
Die Syntax für die Verwendung dieser Join-Typen ist eigentlich einfach. Anstelle des bekannten JOIN
oder INNER JOIN
geben Sie einfach LEFT JOIN
oder einen anderen Typ von JOIN
an:
Swipe to start coding
Schreiben Sie eine Abfrage, um eine Liste aller Kurse und der eingeschriebenen Studenten abzurufen, einschließlich Kurse ohne registrierte Studenten.
Sie müssen die folgenden Spalten in dieser Reihenfolge abrufen:
Verwenden Sie den entsprechenden Typ von JOIN
, um diese Aufgabe zu lösen!
Kurze Anweisungen
- Rufen Sie die Spalten
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
undenrollments.enrollment_date
aus der Tabellecourses
ab. - Verwenden Sie einen LEFT JOIN, um die Tabelle
enrollments
zu verbinden. - Die gemeinsame Spalte für beide Tabellen ist
courses.course_id = enrollments.course_id
.
Lösung
Danke für Ihr Feedback!
Left-, Right- und Inner-Joins
Der Online-Shop hat mehr Produkte von einem Lieferanten bestellt, weil der Lagerbestand zu niedrig war. Das bedeutet, dass wir etwas freie Zeit haben, bis die Lieferung eintrifft.
Nutzen wir diese Gelegenheit, um etwas Neues zu lernen! Bisher hast du den Standard JOIN
in SQL verwendet, aber es gibt auch andere Arten von Joins, die du verwenden kannst.
Hier sind die 4 Haupttypen von Tabellen-Joins:
INNER JOIN
: Gibt Zeilen mit übereinstimmenden Werten in beiden Tabellen zurück. Das ist dasselbe wie der Standard JOIN, den du bisher verwendet hast;
LEFT JOIN
: Gibt alle Zeilen der linken Tabelle und die übereinstimmenden Zeilen der rechten Tabelle zurück. Falls es keine Übereinstimmungen gibt, wirdNULL
für die rechte Tabelle zurückgegeben;
RIGHT JOIN
: Gibt alle Zeilen aus der rechten Tabelle und die übereinstimmenden Zeilen aus der linken Tabelle zurück. Wenn keine Übereinstimmung vorhanden ist, wirdNULL
für die linke Tabelle zurückgegeben;
FULL JOIN
: Gibt alle Zeilen zurück, wenn es in einer der Tabellen eine Übereinstimmung gibt. Wenn keine Übereinstimmungen vorliegen, wirdNULL
für die fehlenden Werte in der anderen Tabelle zurückgegeben.
Bevor wir diese Joins anwenden, schauen wir uns die beiden Tabellen an, mit denen wir arbeiten werden. Sie enthalten Details zu Kursen und den eingeschriebenen Studierenden.
courses
:
enrollments
:
Die Syntax für die Verwendung dieser Join-Typen ist eigentlich einfach. Anstelle des bekannten JOIN
oder INNER JOIN
geben Sie einfach LEFT JOIN
oder einen anderen Typ von JOIN
an:
Swipe to start coding
Schreiben Sie eine Abfrage, um eine Liste aller Kurse und der eingeschriebenen Studenten abzurufen, einschließlich Kurse ohne registrierte Studenten.
Sie müssen die folgenden Spalten in dieser Reihenfolge abrufen:
Verwenden Sie den entsprechenden Typ von JOIN
, um diese Aufgabe zu lösen!
Kurze Anweisungen
- Rufen Sie die Spalten
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
undenrollments.enrollment_date
aus der Tabellecourses
ab. - Verwenden Sie einen LEFT JOIN, um die Tabelle
enrollments
zu verbinden. - Die gemeinsame Spalte für beide Tabellen ist
courses.course_id = enrollments.course_id
.
Lösung
Danke für Ihr Feedback!