SQL Server Correlated Subquery
Sammendrag: I denne opplæringen vil du lære OM SQL Server correlated subquery som er en subquery som avhenger av den ytre spørringen for sine verdier.
en korrelert delspørring er en delspørring som bruker verdiene i den ytre spørringen. Med andre ord, det avhenger av den ytre spørringen for sine verdier. På grunn av denne avhengigheten kan ikke en korrelert delspørring utføres uavhengig som en enkel delspørring.
videre utføres en korrelert delspørring gjentatte ganger, en gang for hver rad evaluert av den ytre spørringen. Den korrelerte subquery er også kjent som en gjentatt subquery.
Vurder følgende products
tabell fra eksempeldatabasen:
følgende eksempel finner produktene hvis listepris er lik den høyeste listeprisen på produktene i samme kategori:
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;
her er resultatet:
i dette eksemplet finner hvert produkt evaluert av den ytre spørringen den høyeste prisen for alle produktene i sin kategori. Hvis prisen på det nåværende produktet er lik den høyeste prisen på alle produkter i sin kategori, er produktet inkludert i resultatsettet. Denne prosessen fortsetter for neste produkt og så videre.
som du kan se, blir den korrelerte delspørringen utført en gang for hvert produkt som evalueres av den ytre spørringen.
i denne opplæringen har du lært OM SQL Server-korrelert subquery.