Zwei Tabellen Verbinden
Wir haben die Aufmerksamkeit eines Unternehmens auf uns gezogen, das einen kleinen Online-Shop betreibt. Es gibt 2 Tabellen, die miteinander in Beziehung stehen. Die erste Tabelle enthält Informationen über die im Online-Shop verkauften Produkte.
Die zweite Tabelle enthält Produktkategorien der Website sowie eine kurze Beschreibung jeder Kategorie.
Unsere erste Aufgabe besteht darin, diese beiden Tabellen zu verknüpfen, um herauszufinden, wie viele Produkte es in jeder Kategorie gibt. Dafür verwenden wir eine JOIN-Anweisung.
Bevor wir mit der Aufgabe beginnen, betrachten wir, was eine JOIN-Anweisung ist und wie sie funktioniert.
Um zwei Tabellen zu verknüpfen, müssen sie eine gemeinsame Spalte haben. Schauen wir uns an, wie JOIN mit den Tabellen employees und department funktioniert. Ihre gemeinsame Spalte ist employees.department und departments.name.
Beim Schreiben von Spalten aus diesen Tabellen beginnt man mit dem Tabellennamen, fügt einen Punkt hinzu und dann den Spaltennamen. Dies sorgt für Klarheit im Code, insbesondere wenn Tabellen gleichnamige Spalten enthalten. So weiß SQL genau, auf welche Tabelle und Spalte Bezug genommen wird.
Hier ist die Aufgabe, das Gesamtgehalt der Mitarbeitenden in jedem Abteilungstyp (tech/non-tech) abzurufen.
Die Abfrage zur Erfüllung dieser Aufgabe sieht folgendermaßen aus:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Analyse der Verwendung von JOIN in der Abfrage:
- Im
SELECT-Teil werden die Spalten aus beiden Tabellen aufgeführt, wobei zur besseren Übersicht der Tabellenname angegeben wird; - Im
JOIN-Teil wird die zu verbindende Tabelle sowie die gemeinsame Spalte angegeben, die die Tabellen verknüpft. Hier sind esemployees.departmentunddepartment.name; - Anschließend erfolgt die Gruppierung der Daten nach
type, um das Gesamtgehalt mit der FunktionSUM()zu berechnen.
Zur Verdeutlichung folgt eine einfache Syntax für die Verwendung von JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Im Gegensatz zur UNION-Klausel ermöglicht die JOIN-Anweisung das Kombinieren ganzer Tabellen und nicht nur gemeinsamer Spalten. Außerdem sind bei JOIN keine Unterabfragen wie bei UNION erforderlich.
Swipe to start coding
Sie müssen die beiden Tabellen category und product verknüpfen. Die gemeinsamen Spalten dieser beiden Tabellen sind product.category_id und category.id.
Ihre Aufgabe ist es, die Gesamtmenge der Produkte in jeder Kategorie zu ermitteln. Dazu müssen Sie die Summe der Spalte product.amount berechnen.
Verwenden Sie für diese Spalte das Alias total_amount.
Am Ende Ihrer Abfrage sortieren Sie das Ergebnis nach der Spalte total_amount in aufsteigender Reihenfolge.
In der Antwort sollten 2 Spalten enthalten sein: category.name und total.amount.
Kurzanleitung
- Abrufen der Spalte
category.nameund der Summe der Spalteproduct.amountaus der Tabelleproduct. - Weisen Sie der zweiten Spalte das Alias
total_amountzu. - Verknüpfen Sie die Tabelle
categorymit einerJOIN-Anweisung. - Verknüpfen Sie die Tabellen über die gemeinsame Spalte
product.category_id = category.id. - Gruppieren Sie die Ergebnisse nach
category.name. - Sortieren Sie die Ergebnisse nach
total_amount.
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
Can you explain the different types of SQL JOINs?
How do I know which column to use for joining tables?
Can you show an example using the products and categories tables?
Großartig!
Completion Rate verbessert auf 4
Zwei Tabellen Verbinden
Swipe um das Menü anzuzeigen
Wir haben die Aufmerksamkeit eines Unternehmens auf uns gezogen, das einen kleinen Online-Shop betreibt. Es gibt 2 Tabellen, die miteinander in Beziehung stehen. Die erste Tabelle enthält Informationen über die im Online-Shop verkauften Produkte.
Die zweite Tabelle enthält Produktkategorien der Website sowie eine kurze Beschreibung jeder Kategorie.
Unsere erste Aufgabe besteht darin, diese beiden Tabellen zu verknüpfen, um herauszufinden, wie viele Produkte es in jeder Kategorie gibt. Dafür verwenden wir eine JOIN-Anweisung.
Bevor wir mit der Aufgabe beginnen, betrachten wir, was eine JOIN-Anweisung ist und wie sie funktioniert.
Um zwei Tabellen zu verknüpfen, müssen sie eine gemeinsame Spalte haben. Schauen wir uns an, wie JOIN mit den Tabellen employees und department funktioniert. Ihre gemeinsame Spalte ist employees.department und departments.name.
Beim Schreiben von Spalten aus diesen Tabellen beginnt man mit dem Tabellennamen, fügt einen Punkt hinzu und dann den Spaltennamen. Dies sorgt für Klarheit im Code, insbesondere wenn Tabellen gleichnamige Spalten enthalten. So weiß SQL genau, auf welche Tabelle und Spalte Bezug genommen wird.
Hier ist die Aufgabe, das Gesamtgehalt der Mitarbeitenden in jedem Abteilungstyp (tech/non-tech) abzurufen.
Die Abfrage zur Erfüllung dieser Aufgabe sieht folgendermaßen aus:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Analyse der Verwendung von JOIN in der Abfrage:
- Im
SELECT-Teil werden die Spalten aus beiden Tabellen aufgeführt, wobei zur besseren Übersicht der Tabellenname angegeben wird; - Im
JOIN-Teil wird die zu verbindende Tabelle sowie die gemeinsame Spalte angegeben, die die Tabellen verknüpft. Hier sind esemployees.departmentunddepartment.name; - Anschließend erfolgt die Gruppierung der Daten nach
type, um das Gesamtgehalt mit der FunktionSUM()zu berechnen.
Zur Verdeutlichung folgt eine einfache Syntax für die Verwendung von JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Im Gegensatz zur UNION-Klausel ermöglicht die JOIN-Anweisung das Kombinieren ganzer Tabellen und nicht nur gemeinsamer Spalten. Außerdem sind bei JOIN keine Unterabfragen wie bei UNION erforderlich.
Swipe to start coding
Sie müssen die beiden Tabellen category und product verknüpfen. Die gemeinsamen Spalten dieser beiden Tabellen sind product.category_id und category.id.
Ihre Aufgabe ist es, die Gesamtmenge der Produkte in jeder Kategorie zu ermitteln. Dazu müssen Sie die Summe der Spalte product.amount berechnen.
Verwenden Sie für diese Spalte das Alias total_amount.
Am Ende Ihrer Abfrage sortieren Sie das Ergebnis nach der Spalte total_amount in aufsteigender Reihenfolge.
In der Antwort sollten 2 Spalten enthalten sein: category.name und total.amount.
Kurzanleitung
- Abrufen der Spalte
category.nameund der Summe der Spalteproduct.amountaus der Tabelleproduct. - Weisen Sie der zweiten Spalte das Alias
total_amountzu. - Verknüpfen Sie die Tabelle
categorymit einerJOIN-Anweisung. - Verknüpfen Sie die Tabellen über die gemeinsame Spalte
product.category_id = category.id. - Gruppieren Sie die Ergebnisse nach
category.name. - Sortieren Sie die Ergebnisse nach
total_amount.
Lösung
Danke für Ihr Feedback!
single