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

bookVerwendung 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 lässt sich schließen, dass wir auch eine innere Abfrage im FROM-Abschnitt verwenden können, um etwas aus dieser Tabelle auszuwählen.

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

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

Wir haben eine neue Tabelle mit 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, einen Alias bereitzustellen.

Wann ist dies nützlich?

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

Außerdem ist eine innere Unterabfrage im FROM-Abschnitt äußerst praktisch, wenn nicht mit der gesamten Tabelle, sondern nur mit einem gefilterten Teil gearbeitet werden soll.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, das durchschnittliche Budget (Spalte budget) für alle Management-Abteilungen aus der Tabelle department abzurufen. Verwenden Sie eine innere Unterabfrage im FROM-Abschnitt, um nur die Abteilungen vom Typ 'manager' zu filtern. Verwenden Sie außerdem den Alias manager_departments für diese Tabelle, damit die Aufgabe korrekt überprüft werden kann.

Die Antwort soll nur eine Spalte mit dem Namen average_budget enthalten. Dies ist ein Alias für die Aggregatfunktion AVG().

Hinweis

Diese Aufgabe könnte auch mit einer WHERE-Klausel gelöst werden, aber wir verwenden hier eine verschachtelte Abfrage, um diese Syntax zu üben, die für die Lösung komplexerer Probleme in Zukunft nützlich sein wird.

Kurzanleitung

  • Abrufen des Durchschnittswerts der Spalte budget.
  • Der Spalte den Alias average_budget zuweisen.
  • Im FROM-Abschnitt eine verschachtelte Abfrage schreiben.
  • In der verschachtelten Abfrage alle Spalten aus der Tabelle department auswählen.
  • In der verschachtelten Abfrage die WHERE-Klausel mit der Bedingung type = 'manager' verwenden.
  • Der verschachtelten Abfrage den Alias manager_departments zuweisen.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
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 more scenarios where using an inner subquery in the FROM clause is beneficial?

What happens if I don't provide an alias for the inner subquery?

How does this approach compare to using a WHERE clause directly?

close

Awesome!

Completion rate improved to 4

bookVerwendung von Inneren Unterabfragen im FROM-Abschnitt

Swipe um das Menü anzuzeigen

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

Daraus lässt sich schließen, dass wir auch eine innere Abfrage im FROM-Abschnitt verwenden können, um etwas aus dieser Tabelle auszuwählen.

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

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

Wir haben eine neue Tabelle mit 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, einen Alias bereitzustellen.

Wann ist dies nützlich?

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

Außerdem ist eine innere Unterabfrage im FROM-Abschnitt äußerst praktisch, wenn nicht mit der gesamten Tabelle, sondern nur mit einem gefilterten Teil gearbeitet werden soll.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, das durchschnittliche Budget (Spalte budget) für alle Management-Abteilungen aus der Tabelle department abzurufen. Verwenden Sie eine innere Unterabfrage im FROM-Abschnitt, um nur die Abteilungen vom Typ 'manager' zu filtern. Verwenden Sie außerdem den Alias manager_departments für diese Tabelle, damit die Aufgabe korrekt überprüft werden kann.

Die Antwort soll nur eine Spalte mit dem Namen average_budget enthalten. Dies ist ein Alias für die Aggregatfunktion AVG().

Hinweis

Diese Aufgabe könnte auch mit einer WHERE-Klausel gelöst werden, aber wir verwenden hier eine verschachtelte Abfrage, um diese Syntax zu üben, die für die Lösung komplexerer Probleme in Zukunft nützlich sein wird.

Kurzanleitung

  • Abrufen des Durchschnittswerts der Spalte budget.
  • Der Spalte den Alias average_budget zuweisen.
  • Im FROM-Abschnitt eine verschachtelte Abfrage schreiben.
  • In der verschachtelten Abfrage alle Spalten aus der Tabelle department auswählen.
  • In der verschachtelten Abfrage die WHERE-Klausel mit der Bedingung type = 'manager' verwenden.
  • Der verschachtelten Abfrage den Alias manager_departments zuweisen.

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!

close

Awesome!

Completion rate improved to 4
Abschnitt 2. Kapitel 3
single

single

some-alt