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_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
Dozenten
| lecturer_id | Name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
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_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Option 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idHier 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_idStatt WHERE verwenden wir JOIN table ON condition
Dieser Join-Typ wird auch als Inner Join bezeichnet.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
grades:course_id,student_id,gradestudents: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 gradeDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Weitere Schlüsselwörter
Das IN-SchlüsselwortDas BETWEEN-SchlüsselwortDas LIKE-SchlüsselwortDas AS-SchlüsselwortRückblick – Handymodelle7Datumsangaben
Datumsangaben behandeln – Teil 1Datumsangaben behandeln – Teil 2Datumsangaben behandeln – Teil 32Bedingungen
Grundlagen der BedingungenDas Schlüsselwort ANDDas Schlüsselwort ORDas Schlüsselwort NOTMehrere kombinierte BedingungenKlammernBoolesche Werte5Arithmetische Operationen
Mathematische OperatorenMathematische SpaltenDie Modulo-OperationDie ROUND()-Funktion3Spezifisches Rückgabeformat
NULL-WerteErgebnisse sortieren Teil 1Ergebnisse sortieren Teil 2Zusammenfassung - Cyber Security FirmAnzahl der Datensätze begrenzenZusammenfassung - Vehicle Factory6Einführungsaufgaben
Wiederholung – ParlamentswahlWiederholung – Festnahme eines Straftäters durch die PolizeiWiederholung – Getränkebehälter an der BarWiederholung – Neue Spalten erstellenÜbe selbstständig: SQL-Playground