Left-, Right- und Inner-Joins
Der Online-Shop hat weitere Produkte bei einem Lieferanten bestellt, da der Lagerbestand zur Neige ging. Das bedeutet, wir haben etwas freie Zeit, 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 noch andere Arten von Joins.
Hier sind die 4 Haupttypen von Tabellen-Joins:
INNER JOIN
: Gibt Zeilen mit übereinstimmenden Werten in beiden Tabellen zurück. Dies entspricht dem Standard-JOIN, den du bisher verwendet hast;
LEFT JOIN
: Gibt alle Zeilen aus der linken Tabelle und die passenden Zeilen aus der rechten Tabelle zurück. Wenn keine Übereinstimmungen vorhanden sind, wirdNULL
für die rechte Tabelle zurückgegeben;
RIGHT JOIN
: Gibt alle Zeilen aus der rechten Tabelle und die passenden Zeilen aus der linken Tabelle zurück. Wenn keine Übereinstimmungen vorhanden sind, wirdNULL
für die linke Tabelle zurückgegeben;
FULL JOIN
: Gibt alle Zeilen zurück, bei denen es eine Übereinstimmung in einer der Tabellen gibt. Wenn keine Übereinstimmungen vorhanden sind, wird für die fehlenden Werte in der anderen TabelleNULL
zurückgegeben.
Bevor wir uns mit der Verwendung dieser Joins beschäftigen, werfen wir einen Blick auf die beiden Tabellen, mit denen wir arbeiten werden. Sie enthalten Details zu Kursen und den darin eingeschriebenen Studierenden.
courses
:
enrollments
:
Die Syntax für die Verwendung dieser Join-Typen ist tatsächlich einfach. Anstelle des bekannten JOIN
oder INNER JOIN
geben Sie einfach LEFT JOIN
oder einen anderen Typ von JOIN
an:
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
Schreiben Sie eine Abfrage, um eine Liste aller Kurse und der eingeschriebenen Studierenden abzurufen, einschließlich der Kurse ohne registrierte Studierende.
Sie müssen die folgenden Spalten in dieser Reihenfolge abrufen:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Verwenden Sie den passenden Typ von JOIN
, um diese Aufgabe zu lösen!
Kurzanleitung
- 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 beider Tabellen ist
courses.course_id = enrollments.course_id
.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4
Left-, Right- und Inner-Joins
Swipe um das Menü anzuzeigen
Der Online-Shop hat weitere Produkte bei einem Lieferanten bestellt, da der Lagerbestand zur Neige ging. Das bedeutet, wir haben etwas freie Zeit, 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 noch andere Arten von Joins.
Hier sind die 4 Haupttypen von Tabellen-Joins:
INNER JOIN
: Gibt Zeilen mit übereinstimmenden Werten in beiden Tabellen zurück. Dies entspricht dem Standard-JOIN, den du bisher verwendet hast;
LEFT JOIN
: Gibt alle Zeilen aus der linken Tabelle und die passenden Zeilen aus der rechten Tabelle zurück. Wenn keine Übereinstimmungen vorhanden sind, wirdNULL
für die rechte Tabelle zurückgegeben;
RIGHT JOIN
: Gibt alle Zeilen aus der rechten Tabelle und die passenden Zeilen aus der linken Tabelle zurück. Wenn keine Übereinstimmungen vorhanden sind, wirdNULL
für die linke Tabelle zurückgegeben;
FULL JOIN
: Gibt alle Zeilen zurück, bei denen es eine Übereinstimmung in einer der Tabellen gibt. Wenn keine Übereinstimmungen vorhanden sind, wird für die fehlenden Werte in der anderen TabelleNULL
zurückgegeben.
Bevor wir uns mit der Verwendung dieser Joins beschäftigen, werfen wir einen Blick auf die beiden Tabellen, mit denen wir arbeiten werden. Sie enthalten Details zu Kursen und den darin eingeschriebenen Studierenden.
courses
:
enrollments
:
Die Syntax für die Verwendung dieser Join-Typen ist tatsächlich einfach. Anstelle des bekannten JOIN
oder INNER JOIN
geben Sie einfach LEFT JOIN
oder einen anderen Typ von JOIN
an:
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
Schreiben Sie eine Abfrage, um eine Liste aller Kurse und der eingeschriebenen Studierenden abzurufen, einschließlich der Kurse ohne registrierte Studierende.
Sie müssen die folgenden Spalten in dieser Reihenfolge abrufen:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Verwenden Sie den passenden Typ von JOIN
, um diese Aufgabe zu lösen!
Kurzanleitung
- 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 beider Tabellen ist
courses.course_id = enrollments.course_id
.
Lösung
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 4single