Menu
Coddy logo textTech

Grundlegender Join Teil 1

Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 43 von 72.

Bisher haben wir Probleme mit einer einzigen Tabelle behandelt. Nun untersuchen wir, wie man mit mehreren Tabellen umgeht.

Nehmen wir an, wir haben die folgenden Tabellen:

Kurse

course_idlecturer_id
11
21
32

Dozenten

lecturer_idName
1Jhonas
2Malidos

Die Aufgabe besteht darin, für jeden Kurs den Namen des entsprechenden Dozenten anzuzeigen.

Es gibt zwei Möglichkeiten, dies zu erreichen. Bei jeder Option ordnen wir jede Zeile einer Tabelle der anderen Tabelle zu. Wir prüfen eine Bedingung, die erfüllt sein muss, und wenn die Bedingung erfüllt ist, kombinieren wir die beiden Zeilen zu einer. Das gewünschte Ergebnis für beide Optionen:

course_idlecturer_name
1Jhonas
2Jhonas
3Malidos

Option 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Hier schreiben wir zwei Tabellen im FROM-Schlüsselwort, und in der WHERE-Klausel fordern wir, dass die lecturer_id beider Datensätze identisch sein muss. In der SELECT-Klausel schreiben wir nun table.column, damit die Datenbank weiß, aus welcher Tabelle sie die Spalte abrufen soll.

Option 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

Statt WHERE verwenden wir JOIN table ON condition

Dieser Join-Typ wird auch als Inner Join bezeichnet.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • grades: course_id, student_id, grade
  • students: id, name

Erstelle eine Abfrage, die student_name, course_id, student_id und grade in einer Tabelle abruft. Sortiere das Ergebnis nach grade in aufsteigender Reihenfolge.

Probier es selbst

-- Liste die Spalten auf, die die Aufgabe verlangt, und verwende den Alias, den sie verlangt
SELECT ____
FROM students, grades
-- Behalte nur die Zeilenpaare, bei denen beide Tabellen dieselbe Person beschreiben
WHERE ____
ORDER BY grade
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground