denne artikel forklarer om ikke-korreleret og korreleret underforespørgsel i KVL-Server (Transakt-KVL) med eksempel.
korreleret underforespørgsel
en korreleret underforespørgsel er underforespørgslen, hvilken værdi afhænger af den ydre forespørgsel. Den korrelerede underforespørgsel udføres gentagne gange, en gang for hver række, der er valgt af underforespørgslen.
i korreleret underforespørgsel udføres underforespørgslen en gang, og den erstatter den resulterende værdi i hvor-klausul i den ydre forespørgsel.
Bemærk: Du kan ikke udføre korreleret underforespørgsel uafhængigt af den ydre forespørgsel.
lad os oprette to tabeller for at forstå korreleret underforespørgsel i
produkter tabel:
1
2
3
4
5
6
7
8
9
10
|
Opret tabel produktstabel
(
id int primær nøgle,
navn nvarchar(50),
pris int,
detaljer nvarchar(150)
)
Indsæt i Produktstabile værdier (1, ‘Laptop’, 30000, ‘en bærbar computer til hjemmebrugere’)
Indsæt i Produktstabile værdier (2, ‘vaskemaskine’, 20000, ‘hvid farve front load machine ‘)
Indsæt i Produktstabile værdier (3, ‘TV’, 22000, ’32 tommer HD LED TV’)
indsæt i produktstabile værdier (4, ‘køleskab’, 30000, ‘190 ltr Dobbeltdørskøleskab’)
|
salg rekord tabel:
1
2
3
4
5
6
7
8
9
10
11
12
|
Opret tabel salerecordtable
(
id int primær nøgle identitet,
produkt int,
solgtmængde int,
SaleDate Date
)
Insert into SaleRecordTable Values (2, 3, ’10-10-2016′)
Insert into SaleRecordTable Values (3, 5, ’10-10-2016′)
Insert into SaleRecordTable Values (2, 2, ’11-10-2016′)
Insert into SaleRecordTable Values (4, 6, ’11-10-2016′)
Insert into SaleRecordTable Values (2, 6, ’12-10-2016′)
Insert into SaleRecordTable Values (4, 6, ’13-10-2016′)
|
forespørgslen henter det samlede produkt, der sælges fra sales record-tabellen. I underforespørgsel samlet produkt solgt data hentes for hvert produkt-id af produkter tabel.
1
2
3
4
|
–correlated subquery
Select Name,
(Select SUM(SoldQuantity) from SaleRecordTable where ProductId = ProductsTable.ID) som ‘samlet mængde solgt’
fra Produktstabel
|
Output:
Hvis du kører underforespørgslen uafhængigt, får du Følgende fejl.
ikke-korreleret underforespørgsel
en ikke-korreleret underforespørgsel er en underforespørgsel, der er uafhængig af ydre forespørgsler. Du kan udføre ikke-korreleret underforespørgsel uafhængigt af den ydre forespørgsel.
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:
Hvis du vil køre underforespørgslen uafhængigt, får du denne gang ingen fejl. Output vil være:
håber, at denne artikel hjalp dig med at forstå korreleret og ikke-korreleret underforespørgsel i KVM-Server. Send venligst dine kommentarer til forespørgsler og feedback. Tak for læsningen.
- Bio
- Latest Posts
seneste indlæg af gyanendu Shekhar (se alle)
- brug af gennemsigtigt materiale i Unity 3D – 8. februar 2021
- Kom godt i gang med UI Toolkit : Unity 3D tutorial – 30. december 2020
- brug af begivenheder i Unity 3D – 2. maj 2020