tässä artikkelissa kerrotaan SQL Serverin (Transact-SQL) ei-korreloivasta ja korreloivasta alakuvauksesta esimerkein.
korreloiva Alakvenssi
korreloiva alakvenssi on alakvenssi, jonka arvo riippuu ulommasta kyselystä. Korreloiva alikenttä suoritetaan toistuvasti, kerran jokaista alikentän valitsemaa riviä kohti.
korreloidussa alikvenssissä alikvenssi suoritetaan kerran ja se korvaa tuloksena olevan arvon ulomman kyselyn lausekkeeseen.
huomaa: et voi suorittaa korreloivaa alikuvausta ulkoisesta kyselystä riippumatta.
luodaan kaksi taulukkoa, jotta SQL Serverin (T-SQL) vastaavuus voidaan ymmärtää.
tuotteet taulukko:
1
2
3
4
5
6
7
8
9
0 11
|
Luo taulu tuottava
(
id int primary key,
nimi nvarchar(50),
hinta int,
yksityiskohdat nvarchar(150)
)
aseta tuotteen pysyviin arvoihin (1,”kannettava tietokone”, 30000,”kotikäyttäjille tarkoitettu kannettava tietokone”)
aseta tuotteen pysyviin arvoihin (2, ”Pesukone”, 20000, ”valkoinen etukuormakone”)
aseta tuotteen pysyviin arvoihin (3, ”TV”, 22000, ”32 tuuman HD LED-TV”)
insert into productstable values (4, ”fridge”, 30000, ”190 ltr Pariovinen jääkaappi”)
|
myyntiennätystaulukko:
1
2
3
4
5
6
7
8
9
10
11
12
3
|
kysely hakee koko myydyn tuotteen myyntitaulukosta. Alakategoriassa myydyn tuotteen kokonaismyyntitiedot haetaan kunkin tuotetunnuksen osalta tuotetaulukosta.
1
2
3
4
|
–correlated subquery
Select Name,
(Select SUM(SoldQuantity) from SaleRecordTable where ProductId = ProductsTable.ID) nimellä”myyty kokonaismäärä”
Tuotteistetusta
|
Tuotos:
Jos suoritat alaosaston itsenäisesti, saat seuraavan virheen.
a non-correlated subquery is a subquery which is independent of outer queries. Voit suorittaa ei-korreloivan alikentän ulkoisesta kyselystä riippumatta.
1
2
3
4
|
–Non correlated query
Select ID, Name, Details
From ProductsTable
Where ID = (Select ProductID from SaleRecordTable Where SaleDate =’10-10-2016′ AND ProductID =2)
|
Output:
Jos suoritat alaosaston itsenäisesti, tällä kertaa et saa virhettä. Tuloste on:
Hope tämä artikkeli auttoi sinua ymmärtämään SQL Serverin korreloitua ja ei-korreloivaa alakerrosta. Lähetä kommenttisi kyselyihin ja palautteisiin. Kiitos lukemisesta.
- Bio
- Latest Posts
gyanendu shekharin uusimmat viestit (Katso kaikki)