SQL Mitbezogene Unterabfragen

SQL Mitbezogene Unterabfragen

In SQL bezieht sich eine gemeinsame Unterabfrage auf eine Unterabfrage, deren Funktionalität von der Ausgabe der vorherigen Abfrage abhängt.

Die korrelierte Unterabfrage wird einmal in jeder Zeile ausgeführt, die von der äußeren Abfrage verarbeitet wird.

Syntax

Eine Stichprobensyntax für eine korrelierte Unterabfrage in SQL ist wie gezeigt:

Wählen Sie Spalte1, Spalte2,…
Aus Tabelle 1 äußere
Wobei Spalte1 -Operator
(Wählen Sie Spalte1, Spalte2 aus
Aus Tabelle2
Wo expr1 = äußere.expr2);

Notiz: Die übergeordnete Abfrage kann eine Auswahl, Löschen oder Aktualisierung sein.

SQL korrelierte Unterabfrage - Beispiel

Betrachten Sie die Tabelle mit Produktinformationen wie unten gezeigt:

Wir können eine korrelierte Unterabfrage verwenden, um das Produkt mit einer Menge zu finden, die der maximalen Menge in der Tabelle entspricht.
Wir können eine korrelierte Unterabfrage verwenden, um das Produkt mit einer Menge zu finden, die der maximalen Menge in der Tabelle entspricht.

Wählen Sie product_name, product_category, Menge aus
Aus Produkten TB1
Wo Menge in (
Wählen Sie max (TB2.Menge)
Aus Produkten TB2
Wo tb2.product_category = tb1.Produktkategorie
Gruppe von TB2.Produktkategorie
)
SORTIEREN NACH
Produktname;

Die obige Abfrage sollte zurückkehren:

Jedes Produkt wird durch die äußere Abfrage bewertet und dann an die innere Abfrage übergeben, die die maximale Menge in dieser Kategorie findet.