SQL Server Correlated Subquery
Summary: tässä opetusohjelmassa opit SQL Server correlated subquery, joka on alakerros, joka riippuu uloimmasta kyselystä sen arvoista.
korreloiva alikvenssi on alikvenssi, joka käyttää ulomman kyselyn arvoja. Toisin sanoen se riippuu ulkoisesta kyselystä arvojensa suhteen. Tämän riippuvuuden vuoksi korreloitunutta alikvenssiä ei voida toteuttaa itsenäisesti yksinkertaisena alikvenssinä.
lisäksi korreloiva alakerta suoritetaan toistuvasti, kerran jokaista ulomman kyselyn arvioimaa riviä kohti. Korreloiva alakvenssi tunnetaan myös toistuvana alakvenssinä.
tarkastellaan seuraavaa products
taulukko otostietokannasta:
seuraavassa esimerkissä löydetään tuotteet, joiden luettelohinta on saman tuoteryhmän tuotteiden korkein listahinta:
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;
tässä on tulos:
tässä esimerkissä alahuone löytää kategoriansa kaikista tuotteista korkeimman hinnan. Jos nykyisen tuotteen hinta on yhtä suuri kuin kaikkien kategoriansa tuotteiden Korkein hinta, tuote sisältyy tulosjoukkoon. Tämä prosessi jatkuu seuraavan tuotteen ja niin edelleen.
kuten näet, korreloiva alakerros suoritetaan kerran jokaista ulomman kyselyn arvioimaa tuotetta kohti.
tässä opetusohjelmassa olet tutustunut SQL Serverin korreloivaan alalajiin.