SQLShack (Magyar)

Ebben a cikkben megtanuljuk az SQL-t a több csatlakozik a koncepcióhoz, és elég egyszerű példákkal erősítik meg tanulásainkat, amelyeket illusztrációkkal magyarázunk. A relációs adatbázisokban az adatokat táblákban tárolják. Kétségtelen, és legtöbbször olyan eredménykészletre van szükségünk, amely több táblázat adatainak egyesítésével jön létre. A csatlakozások lehetővé teszik számunkra, hogy két vagy több tábla adatait egyesítsük, így össze tudjuk kapcsolni a táblák adatait, így könnyedén visszakereshetjük az adatokat több táblából. Felteheti magának a kérdést, hogy hány különböző típusú csatlakozás létezik az SQL Serverben. A válasz Az SQL Server négy fő típusú csatlakozás létezik. Először is röviden leírjuk őket a Venn-diagram illusztrációival:

  • A belső csatlakozás visszaadja a mindkét táblázatban egyező sorokat.

  • A bal oldali csatlakozás a bal oldali táblázat összes sorát visszaadja

  • A jobb oldali összekapcsolás a jobb oldali táblázat összes sorát visszaadja

  • A teljes összekapcsolás teljes sorokat ad vissza mindkét táblából.

Ha nincsenek ismeretei az SQL Server SQL csatlakozási koncepciójáról az SQL Join típusok áttekintése és az oktató cikk olvasható.

Az SQL csatlakozási típusok rövid ismertetése után végigvesszük a többszörös összekapcsolást.

Mi az SQL többszörös összekapcsolás?

Többszörös összekapcsolás a következőképpen írható le; A többszörös összekapcsolás egy vagy több különböző típusú összekapcsolást tartalmazó lekérdezés. Így lehetőségünk nyílik több adattábla kombinálására a relációs adatbázis problémáinak leküzdése érdekében.

Példa forgatókönyvre

A Green-Tree vállalat új kampányt indított az újévre, és különböző ajánlatokat tett online ügyfeleinek. Kampányuk eredményeként sikerült néhány ajánlatot értékesítéssé alakítaniuk. A következő példákban feltárjuk a Green-Tree vállalat újévi kampányadat-részleteit.

A vállalat ezeket a kampányadatokat a következő táblázatokban tárolja. Most ezeket a táblázatokat a következő lekérdezéssel fogjuk létrehozni, és néhány fiktív adattal feltöltjük őket:

Hogyan működik az SQL multiple összekapcsolása?

Üzleti probléma: Mely ügyfeleket érdekelte ez az új év kampány?

A kérdés megválaszolásához meg kell találnunk az összes táblázat egyező sorait, mert egyes ügyfelek nem kaptak e-mail ajánlatot, és egyes ajánlatokat nem lehetett átalakítani eladássá. A következő Venn-diagram segít nekünk kitalálni a megfelelő sorokat, amelyekre szükségünk van. Röviden: ennek a lekérdezésnek a lekérdezés összes táblájának metsző sorának kell lennie. A szürke színű terület ezeket a sorokat adja meg a Venn-diagramban:

Az SQL többszörös összekapcsolás megközelítés segít abban, hogy csatlakozzunk az online ügyfelekhez. , megrendelések és értékesítési táblázatok. Amint a Venn diagram mutatja, az összes táblázat sorait össze kell illesztenünk. Ezért az összes táblázatot összekapcsoljuk egy belső csatlakozási záradékkal. A következő lekérdezés egy tőlünk kívánt eredményhalmazt ad, és válaszol a kérdésre:

1
2
3
4
5
6
7
8

SELECT customerName, customercity, customermail, salestotal
on-line ügyfelektől, mint oc
BELSŐ CSATLAKOZÁS
megrendelések AS-ben BELSŐ CSATLAKOZÁS
értékesítési AS-ek
BE o.orderId = s.orderId

Eleinte elemezzük a lekérdezést. Egy belső csatlakozási záradék, amely az onlinevevők és a rendelési táblák között található, levezetette a két táblázat közötti egyező sorokat. Az értékesítési táblázatot egyesítő második belső csatlakozási klauzula az előző eredményhalmazból vezette le az egyező sorokat. A következő színes táblázatok segítenek megérteni az összekapcsolt táblák adatainak egyezését a lekérdezésben. A sárga színű sorok megadják az egyező ügyfelek és a megrendelések közötti egyező adatokat. Másrészt az értékesítési táblákban csak a kék színű sorok léteznek, így a lekérdezés eredménye kék színű lesz:

A lekérdezés eredménye így fog kinézni:

Különböző csatlakozási típusok használata az SQL többszörös összekapcsolásában

Üzleti probléma: Mely ajánlatokat nem lehetne eladattá alakítani?

Egyetlen lekérdezésben használhatjuk a különböző típusú összekapcsolásokat, hogy legyőzzük a különböző relációs adatbázisokkal kapcsolatos problémákat.Ebben a példában szükségünk van a megrendelések táblázat minden sorára, amely illeszkedik az onlinevevők tábláihoz. Másrészt ezek a sorok nem szerepelnek az értékesítési táblázatban. A következő Venn-diagram segít nekünk kitalálni a megfelelő sorokat, amelyekre szükségünk van. A szürke színű terület azokat a sorokat jelöli, amelyek a lekérdezés kimenetévé válnak:

Az első lépésben kombinálnunk kell az onlinevevőket és a táblázatokat a belső összekapcsolási záradékon keresztül rendeli, mivel a belső összekapcsolás visszaadja az összes egyező sort az onlinevevők és a rendelési táblák között. A második lépésben a rendelési táblázatot egyesítjük a bal oldali csatlakozáson keresztül az értékesítési táblával, majd kiszűrjük a null értékeket, mert ki kell küszöbölnünk azokat a sorokat, amelyeket az értékesítési tábla tárol:

1
2
3
4
5
6
7
8
9

SELECT customerName, customercity, customermail, ordertotal, salestotal
onlinecustomers AS-től C
INNER JOIN
AS o
BE c.customerid = o.customerid
BAL CSATLAKOZÁS
értékesítési AS s
BE o.orderId = s.orderId
HOL s.salesId NULL

A lekérdezés eredménye így néz ki:

Kvíz

Q uestion: Kérjük, generálja a megfelelő lekérdezést az alábbi Venn-diagram szerint.

Válasz: Mint megtudtuk, a teljes csatlakozás lehetővé teszi adja vissza az összes sort a kombinált táblákból. A megválaszolt lekérdezés a következő lesz:

1
2
3
4
5
6
7
8

SELECT customerName, customercity, customermail, ordertotal, salestotal
onlinecustomers AS c
FULL JOIN
AS megrendelések o
BE c.customerid = o.customerid
TELJES CSATLAKOZÁS
értékesítési AS s
BE o.orderId = s.orderId

Következtetés

Ebben a cikkben az SQL multiple joins megközelítésre összpontosítottunk, és részletes példákkal megtanultuk. A többszörös összekapcsolás lehetővé teszi számunkra, hogy kettőnél több táblázatot egyesítsünk, hogy a relációs adatbázis-rendszer különböző problémáit legyőzhessük. Továbbá láttuk, hogyan használhatnánk különféle csatlakozási típusokat egyetlen lekérdezésben.

  • Szerző
  • Legutóbbi bejegyzések
Esat Erkec SQL Server szakember, aki karrierjét 8+ évvel ezelőtt kezdte szoftverfejlesztőként. SQL Server Microsoft minősített megoldások szakértője.
Pályafutásának nagy része az SQL Server adatbázis-adminisztrációra és fejlesztésre összpontosult. Jelenleg az adatbázis-adminisztrációval és az üzleti intelligenciával foglalkozik. Megtalálhatja a LinkedIn oldalon.
Esat Erkec összes üzenetének megtekintése

Esat Erkec legfrissebb bejegyzései (az összes megtekintése)
  • Az SQL programozás kezdete – 2021. február 3.
  • A végrehajtás olvasása terv minden részletével – 2021. január 28.
  • SQL SELECT TOP utasítás áttekintése és példák – 2021. január 25.

Leave a Reply

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

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