Basic Join Part 1
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy — Lektion 43 von 72.
Bisher haben wir Probleme mit einer einzelnen Tabelle behandelt. Nun werden wir untersuchen, wie man mehrere Tabellen handhabt.
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 anzugeben.
Es gibt zwei Möglichkeiten, dies zu erreichen. Für jede Option verknüpfen wir jede Zeile in einer Tabelle mit der anderen. Wir prüfen eine Bedingung, die erfüllt sein muss, und wenn die Bedingung erfüllt ist, kombinieren wir die zwei 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 in das FROM-Schlüsselwort, und in der WHERE-Klausel fordern wir, dass die lecturer_id beider Datensätze gleich sein muss. In der SELECT-Klausel schreiben wir jetzt table.column, damit die Datenbank weiß, wo sie die Spalte holen soll.
Option 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idAnstatt WHERE verwenden wir JOIN table ON condition
Dieser Join-Typ wird auch als inner join bezeichnet.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>grades</strong>:<strong>course_id</strong>,<strong>student_id</strong>,<strong>grade</strong><strong>students</strong>:<strong>id</strong>,<strong>name</strong>
Erstellen Sie eine Abfrage, die student_name, course_id, student_id und grade in einer Tabelle abruft. Ordnen Sie das Ergebnis nach grade in aufsteigender Reihenfolge.
Spickzettel
Um Daten aus mehreren Tabellen zu kombinieren, verwenden Sie entweder die Kommasyntax mit WHERE oder die JOIN-Syntax:
Option 1: Kommasyntax mit WHERE
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.idOption 2: JOIN-Syntax
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.idVerwenden Sie die table.column-Syntax, um anzugeben, aus welcher Tabelle eine Spalte stammt, wenn Sie aus mehreren Tabellen auswählen. Diese Art von Join wird als inner join bezeichnet.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns