Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verwendung von Inneren Unterabfragen im FROM-Abschnitt | Verschachtelte Unterabfragen
Fortgeschrittene SQL
course content

Kursinhalt

Fortgeschrittene SQL

Fortgeschrittene SQL

1. Gruppierung
2. Verschachtelte Unterabfragen
3. Tabellen Verbinden
4. DDL und DML in SQL

book
Verwendung von Inneren Unterabfragen im FROM-Abschnitt

Eine innere Unterabfrage erstellt eine Tabelle, mit der wir anschließend Operationen in der äußeren Abfrage durchführen.

Daraus können wir schließen, dass wir auch eine innere Abfrage innerhalb des FROM-Abschnitts verwenden können, um etwas aus dieser Tabelle auszuwählen.

Betrachten wir ein Beispiel, bei dem wir mit employees arbeiten müssen, deren salary über einem bestimmten Wert liegt. Aber statt einer WHERE-Klausel verwenden wir eine innere Abfrage:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Wir haben eine neue Tabelle mithilfe einer inneren Unterabfrage erstellt, mit der wir arbeiten und Informationen sammeln können.

Hinweis

Beachten Sie, dass es für eine solche Tabelle unerlässlich ist, ein Alias bereitzustellen.

Wann könnte dies nützlich sein?

Eine solche Abfrage ist sehr lesbar; manchmal kann sie eine WHERE-Klausel ersetzen.

Zusätzlich, wenn Sie nicht mit der gesamten Tabelle sondern nur mit einem gefilterten Teil arbeiten müssen, kann eine innere Unterabfrage im FROM-Abschnitt äußerst praktisch sein.

Aufgabe

Swipe to start coding

Ihre Aufgabe besteht darin, den durchschnittlichen Haushalt (Spalte budget) für alle leitenden Abteilungen aus der department Tabelle zu ermitteln. Verwenden Sie eine innere Unterabfrage im FROM-Abschnitt, um nur den Abteilungstyp 'manager' zu filtern. Verwenden Sie außerdem das Alias manager_departments für diese Tabelle, damit die Aufgabe korrekt überprüft werden kann.

Die Antwort sollte nur eine Spalte haben, average_budget. Dies ist ein Alias für die Aggregatfunktion AVG().

Hinweis

Diese Aufgabe könnte auch mithilfe einer WHERE-Klausel gelöst werden, aber wir verwenden hier eine verschachtelte Abfrage zur Übung dieser Syntax, die in Zukunft beim Lösen komplexerer Probleme nützlich sein wird.

Kurze Anweisungen

  • Ermitteln Sie den Durchschnittswert der Spalte budget.
  • Weisen Sie dieser Spalte das Alias average_budget zu.
  • Im FROM-Abschnitt müssen Sie eine verschachtelte Abfrage schreiben.
  • Wählen Sie in der verschachtelten Abfrage alle Spalten aus der department Tabelle aus.
  • Verwenden Sie in der verschachtelten Abfrage die WHERE-Klausel mit der Bedingung type = 'manager'.
  • Weisen Sie der verschachtelten Abfrage das Alias manager_departments zu.

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 2. Kapitel 3
toggle bottom row

book
Verwendung von Inneren Unterabfragen im FROM-Abschnitt

Eine innere Unterabfrage erstellt eine Tabelle, mit der wir anschließend Operationen in der äußeren Abfrage durchführen.

Daraus können wir schließen, dass wir auch eine innere Abfrage innerhalb des FROM-Abschnitts verwenden können, um etwas aus dieser Tabelle auszuwählen.

Betrachten wir ein Beispiel, bei dem wir mit employees arbeiten müssen, deren salary über einem bestimmten Wert liegt. Aber statt einer WHERE-Klausel verwenden wir eine innere Abfrage:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Wir haben eine neue Tabelle mithilfe einer inneren Unterabfrage erstellt, mit der wir arbeiten und Informationen sammeln können.

Hinweis

Beachten Sie, dass es für eine solche Tabelle unerlässlich ist, ein Alias bereitzustellen.

Wann könnte dies nützlich sein?

Eine solche Abfrage ist sehr lesbar; manchmal kann sie eine WHERE-Klausel ersetzen.

Zusätzlich, wenn Sie nicht mit der gesamten Tabelle sondern nur mit einem gefilterten Teil arbeiten müssen, kann eine innere Unterabfrage im FROM-Abschnitt äußerst praktisch sein.

Aufgabe

Swipe to start coding

Ihre Aufgabe besteht darin, den durchschnittlichen Haushalt (Spalte budget) für alle leitenden Abteilungen aus der department Tabelle zu ermitteln. Verwenden Sie eine innere Unterabfrage im FROM-Abschnitt, um nur den Abteilungstyp 'manager' zu filtern. Verwenden Sie außerdem das Alias manager_departments für diese Tabelle, damit die Aufgabe korrekt überprüft werden kann.

Die Antwort sollte nur eine Spalte haben, average_budget. Dies ist ein Alias für die Aggregatfunktion AVG().

Hinweis

Diese Aufgabe könnte auch mithilfe einer WHERE-Klausel gelöst werden, aber wir verwenden hier eine verschachtelte Abfrage zur Übung dieser Syntax, die in Zukunft beim Lösen komplexerer Probleme nützlich sein wird.

Kurze Anweisungen

  • Ermitteln Sie den Durchschnittswert der Spalte budget.
  • Weisen Sie dieser Spalte das Alias average_budget zu.
  • Im FROM-Abschnitt müssen Sie eine verschachtelte Abfrage schreiben.
  • Wählen Sie in der verschachtelten Abfrage alle Spalten aus der department Tabelle aus.
  • Verwenden Sie in der verschachtelten Abfrage die WHERE-Klausel mit der Bedingung type = 'manager'.
  • Weisen Sie der verschachtelten Abfrage das Alias manager_departments zu.

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 2. Kapitel 3
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
We're sorry to hear that something went wrong. What happened?
some-alt