Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zwei Tabellen Verbinden | Tabellen Verbinden
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Fortgeschrittene SQL

bookZwei 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.

So sieht die product-Tabelle aus:

Die zweite Tabelle enthält Produktkategorien auf der Website sowie eine kurze Beschreibung für jede Kategorie.

So sieht die category-Tabelle aus:

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.

Note
Definition

JOIN in SQL ist eine Operation, die Zeilen aus zwei oder mehr Tabellen basierend auf einer gemeinsamen Spalte zwischen ihnen kombiniert. JOIN ermöglicht das Abrufen von Daten aus mehreren Tabellen in einer Abfrage, was die Analyse und Verarbeitung von zusammenhängenden Daten vereinfacht.

Um zwei Tabellen zu verbinden, müssen sie eine gemeinsame Spalte haben. Sehen wir uns an, wie JOIN mit den Tabellen employees und department funktioniert. Ihre gemeinsame Spalte ist employees.department und departments.name.

Note
Hinweis

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 Spalten mit demselben Namen 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 wie folgt aus:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Im Folgenden wird erläutert, wie wir JOIN in unserer Abfrage verwendet haben:

  1. Im SELECT-Teil werden die Spalten aus beiden Tabellen aufgeführt, wobei zur Klarheit der Tabellenname angegeben wird;
  2. Im JOIN-Teil wird die zu verbindende Tabelle sowie die gemeinsame Spalte angegeben, die die Tabellen verknüpft. Hier sind es employees.department und department.name;
  3. Anschließend erfolgt die Gruppierung der Daten nach type, um das Gesamtgehalt mit der Funktion SUM() zu berechnen.

Falls dies komplex erscheint, folgt hier eine einfache Syntax zur Verwendung von JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Hinweis

Im Gegensatz zur UNION-Klausel ermöglicht die JOIN-Anweisung das Kombinieren ganzer Tabellen, nicht nur der gemeinsamen Spalten. Außerdem sind bei JOIN keine Unterabfragen wie bei UNION erforderlich.

Aufgabe

Swipe to start coding

Sie müssen die beiden Tabellen category und product verbinden. 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

  • Rufen Sie die Spalte category.name und die Summe der Spalte product.amount aus der Tabelle product ab.
  • Weisen Sie der zweiten Spalte das Alias total_amount zu.
  • Verbinden Sie die Tabelle category mit einer JOIN-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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain how the JOIN would work for the product and category tables?

What type of JOIN should I use for this scenario?

Can you show an example query joining the product and category tables?

close

bookZwei 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.

So sieht die product-Tabelle aus:

Die zweite Tabelle enthält Produktkategorien auf der Website sowie eine kurze Beschreibung für jede Kategorie.

So sieht die category-Tabelle aus:

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.

Note
Definition

JOIN in SQL ist eine Operation, die Zeilen aus zwei oder mehr Tabellen basierend auf einer gemeinsamen Spalte zwischen ihnen kombiniert. JOIN ermöglicht das Abrufen von Daten aus mehreren Tabellen in einer Abfrage, was die Analyse und Verarbeitung von zusammenhängenden Daten vereinfacht.

Um zwei Tabellen zu verbinden, müssen sie eine gemeinsame Spalte haben. Sehen wir uns an, wie JOIN mit den Tabellen employees und department funktioniert. Ihre gemeinsame Spalte ist employees.department und departments.name.

Note
Hinweis

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 Spalten mit demselben Namen 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 wie folgt aus:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Im Folgenden wird erläutert, wie wir JOIN in unserer Abfrage verwendet haben:

  1. Im SELECT-Teil werden die Spalten aus beiden Tabellen aufgeführt, wobei zur Klarheit der Tabellenname angegeben wird;
  2. Im JOIN-Teil wird die zu verbindende Tabelle sowie die gemeinsame Spalte angegeben, die die Tabellen verknüpft. Hier sind es employees.department und department.name;
  3. Anschließend erfolgt die Gruppierung der Daten nach type, um das Gesamtgehalt mit der Funktion SUM() zu berechnen.

Falls dies komplex erscheint, folgt hier eine einfache Syntax zur Verwendung von JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Hinweis

Im Gegensatz zur UNION-Klausel ermöglicht die JOIN-Anweisung das Kombinieren ganzer Tabellen, nicht nur der gemeinsamen Spalten. Außerdem sind bei JOIN keine Unterabfragen wie bei UNION erforderlich.

Aufgabe

Swipe to start coding

Sie müssen die beiden Tabellen category und product verbinden. 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

  • Rufen Sie die Spalte category.name und die Summe der Spalte product.amount aus der Tabelle product ab.
  • Weisen Sie der zweiten Spalte das Alias total_amount zu.
  • Verbinden Sie die Tabelle category mit einer JOIN-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

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1
single

single

some-alt