Verstehen von Unterabfragen

Abgeschlossen

Eine Unterabfrage ist eine SELECT-Anweisung, die in einer anderen Abfrage geschachtelt ist. Die Fähigkeit, eine Abfrage in einer anderen zu schachteln, wird Ihre Fähigkeit, effektive Abfragen in T-SQL zu erstellen, verbessern. Im Allgemeinen werden Unterabfragen ein Mal ausgewertet und stellen ihre Ergebnisse für die äußere Abfrage bereit.

Arbeiten mit Unterabfragen

Eine Unterabfrage ist eine SELECT-Anweisung, die in einer anderen Abfrage geschachtelt oder eingebettet ist. Die geschachtelte Abfrage, bei der es sich um die Unterabfrage handelt, wird als innere Abfrage bezeichnet. Die Abfrage, die die geschachtelte Abfrage enthält, ist die äußere Abfrage.

Der Zweck einer Unterabfrage ist das Zurückgeben von Ergebnissen an die äußere Abfrage. Die Form der Ergebnisse bestimmt, ob die Unterabfrage eine Skalarabfrage oder eine mehrwertige Unterabfrage ist:

  • Skalarunterabfragen geben einen einzelnen Wert zurück. Äußere Abfragen müssen ein einzelnes Ergebnis verarbeiten.
  • Mehrwertige Unterabfragen geben ein Ergebnis ähnlich wie eine einspaltige Tabelle zurück. Äußere Abfragen müssen mehrere Werte verarbeiten können.

Zusätzlich zur Wahl zwischen skalaren und mehrwertigen Unterabfragen können Unterabfragen entweder eigenständige Unterabfragen oder mit der äußeren Abfrage korreliert sein:

  • Selbstständige Unterabfragen können als eigenständige Abfragen geschrieben werden, ohne Abhängigkeiten von der äußeren Abfrage zu haben. Eine eigenständige Unterabfrage wird einmal verarbeitet, wenn die innere Abfrage ausgeführt wird und die Ergebnisse an diese äußere Abfrage übergibt.
  • Korrelierte Unterabfragen verweisen auf mindestens eine Spalte aus der äußeren Abfrage und sind daher davon abhängig. Korrelierte Unterabfragen können nicht separat von der äußeren Abfrage ausgeführt werden.