SQL Server gecorreleerde Subquery
samenvatting: in deze tutorial leert u over de SQL Server gecorreleerde subquery, een subquery die afhankelijk is van de buitenste query voor zijn waarden.
een gecorreleerde subquery is een subquery die de waarden van de buitenste query gebruikt. Met andere woorden, het hangt af van de buitenste query voor zijn waarden. Vanwege deze afhankelijkheid kan een gecorreleerde subquery niet onafhankelijk worden uitgevoerd als een eenvoudige subquery.
bovendien wordt een gecorreleerde subquery herhaaldelijk uitgevoerd, eenmaal voor elke rij geëvalueerd door de outer query. De gecorreleerde subquery is ook bekend als een herhalende subquery.
Overweeg het volgende products
tabel in de voorbeeld data:
in Het volgende voorbeeld vindt van de producten waarvan de prijs is gelijk aan de hoogste prijs van de producten in dezelfde categorie:
Code language: SQL (Structured Query Language) (sql)SELECT product_name, list_price, category_idFROM production.products p1WHERE list_price IN ( SELECT MAX (p2.list_price) FROM production.products p2 WHERE p2.category_id = p1.category_id GROUP BY p2.category_id )ORDER BY category_id, product_name;
Hier is het resultaat:
in dit voorbeeld vindt de subquery de hoogste prijs van alle producten in zijn categorie. Als de prijs van het huidige product gelijk is aan de hoogste prijs van alle producten in zijn categorie, is het product inbegrepen in de resultaatset. Dit proces gaat door voor het volgende product en ga zo maar door.
zoals u kunt zien, wordt de gecorreleerde subquery één keer uitgevoerd voor elk product dat door de outer query wordt geëvalueerd.
in deze tutorial, heb je geleerd over de SQL Server gecorreleerde subquery.