Korrelierte Unterabfragen
Korrelierte Unterabfragen sind nicht eigenständig, sondern verweisen auf Spalten in der übergeordneten Abfrage.
SELECT StoreID FROM Stores S
WHERE S.TotalSales*0.1 <
(SELECT SUM(1.Price) FROM Item i
WHERE S.StoreID = I.StoreId and I.ItemType = "Dairy");Diese Abfrage ist eine korrelierte Unterabfrage, weil die innere Abfrage die äußere Spalte 'StoreID' aus der Tabelle 'Stores' in der übergeordneten Abfrage zum Berechnen der Gesamtumsatzes für Milchprodukte in bestimmten Filialen verwendet.
SELECT S.StoreId FROM Stores S,
(SELECT I.StoreId, Sum(Price) DairySales FROM Items I
WHERE I.ItemType = "Dairy" GROUP BY I.StoreId) D
WHERE S.StoreId = D.StoreId AND S.TotalSales *0.1 < D.DairySales;
In dieser Version erstellt die Unterabfrage eine Ergebnistabelle als Teil der äußeren FROM-Klausel, die dann mit der Tabelle 'Stores' verknüpft wird, damit der Milchproduktumsatz getestet werden kann.