Korrelált Alkeretek SQL Server

Ez a cikk ismerteti a nem korrelált és korrelált alkeretek SQL Server (Transact-SQL) példával.

Korrelált Alkeretek

a korrelált alkeretek az alkeretek, amelyek értéke a külső lekérdezéstől függ. A korrelált alkeretet többször végrehajtják, egyszer minden egyes sorhoz, amelyet az alkerület választ ki.

Korrelált alkeretben az alkeretek egyszer végrehajtásra kerülnek, a kapott értéket pedig a külső lekérdezés WHERE záradékába helyettesítik.

megjegyzés: a külső lekérdezéstől függetlenül nem hajthat végre Korrelált alkeretet.

hozzunk létre két táblázatot, hogy megértsük az SQL Server (T-SQL) Korrelált alkeretét.

termék táblázat:

MySQL

1
2
3
4
5
6
7
8
9
10
11

Create table ProductsTable
(
ID int Primary Key
Név nvarchar(50),
Ár int,
Részletek nvarchar(150)
)
Insert into ProductsTable Values (1, ‘Laptop’, 30000, Egy laptop otthoni felhasználók számára’)
Insert into ProductsTable Értékek (2, ‘Mosógép’, 20000, Fehér színű első terhelés gép ‘)
Insert into ProductsTable Értékek (3, ‘TV’, 22000, ’32 cm-es HD LED TV-t’)
Insert into ProductsTable Értékek (4, ‘Hűtő’, 30000, ‘190 Ltr dupla ajtós hűtőszekrény’)

összefügg-subquery-termékek-táblázat

Eladási Rekordot Táblázat:

MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13

Create table SaleRecordTable
(
Id int Primary Key Identity,
ProductID int,
SoldQuantity 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′)

correlated-subquery-sale-record-table

Correlated Subquery az SQL Server-példa

a lekérdezés letölteni teljes eladott termék értékesítési rekord tábla. Az alkeretben az összes eladott termék adatait a termékazonosító táblázat minden egyes termékazonosítójához visszakeresjük.

MySQL

1
2
3
4

–correlated subquery
Select Name,
(Select SUM(SoldQuantity) from SaleRecordTable where ProductId = ProductsTable.ID) A”teljes eladott mennyiség”
a ProductsTable

kimenet:

Korrelált-és-nem korrelált-subquery-Korrelált-output-1

ha önállóan futtatja az alkeretet, akkor a következő hibát kapja.

Korrelált-és-nem korrelált-subquery-Korrelált-output-2

nem korrelált Subquery

a nem korrelált subquery egy olyan alkeriség, amely független a külső lekérdezésektől. A külső lekérdezéstől függetlenül nem korrelált alkeretet hajthat végre.

Non-Correlated Subquery in SQL Server – Example

MySQL

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)

kimenet:Korrelált-subquery-non-output-1

ha önállóan futtatja az alkeretet, akkor ezúttal nem fog hibát kapni. A kimenet a következő lesz:

Korrelált-és-nem korrelált-subquery-non-output-2

Remélem, ez a cikk segített megérteni Korrelált és nem korrelált subquery SQL Server. Kérjük, tegye meg észrevételeit a lekérdezések, visszajelzések. Kösz, hogy olvastál.

Share Button
The following two tabs change content below.

  • Bio
  • Latest Posts

My Twitter profileMy Facebook profileMy Google+ profile

Gyanendu Shekhar is a technology enthusiast. He loves to learn new technologies. His area of interest includes Microsoft technologies, Augmented reality, Virtual reality, unity3d and android development.

A Twitter profilA Facebook profilA Google+ profil

Legújabb hozzászólások Gyanendu Shekhar (minden)

  • Használatával Átlátszó Anyag a Unity 3D – február 8., 2021
  • első lépések UI Toolkit : Unity 3D-s Bemutató – December 30, 2020
  • Az Események a Unity 3D – Május 2, 2020

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük