SQL Server teljes külső csatlakozás

Összegzés: ebben az oktatóanyagban megtanulhatja az SQL Server használatát FULL OUTER JOIN két vagy több táblázat adatainak lekérdezéséhez.

Bevezetés az SQL Server teljes külső csatlakozásába

A FULL OUTER JOIN olyan eredménykészletet ad vissza, amely tartalmazza sorok mind a bal, mind a jobb táblázatból. Ha a bal oldali táblázatban nem található megfelelő sor, akkor a jobb oldali táblázat oszlopai nullák lesznek. Hasonlóképpen, ha a jobb oldali táblázatban nem található megfelelő sor, akkor a bal oldali táblázat oszlopai nullák lesznek.

Az alábbiakban bemutatjuk a FULL OUTER JOIN két tábla egyesítésekor T1 és T2:

Code language: SQL (Structured Query Language) (sql)

A OUTER kulcsszó opcionális, így kihagyhatja a következő lekérdezés szerint:

Code language: SQL (Structured Query Language) (sql)

Ebben a szintaxisban :

  • Először adja meg a T1 bal oldali táblázatot a FROM záradékban.
  • Másodszor adja meg a megfelelő táblázatot T2 és egy összekapcsolási predikátumot.

A következő Venn-diagram szemlélteti a FULL OUTER JOIN:

SQL Server teljes külső illesztés példa

Állítsunk össze egy mintatáblát a teljes külső összekapcsolás bemutatására.

Először hozzon létre egy új pm nevű séma, amely a projektmenedzsmentet jelenti.

Code language: SQL (Structured Query Language) (sql)

Ezután hozzon létre új táblákat projects és members a pm sémában:

Tegyük fel, hogy csak minden tag vehet részt egy projektben, és minden projektnek nulla vagy több tagja van. Ha egy projekt ötletfázisban van, ezért nincs tag hozzárendelve.

Ezután illesszen be néhány sort a projects és a members táblázatok:

Ezt követően lekérdez adatokat a projects és members táblákból:

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

Végül az FULL OUTER JOIN segítségével kérdezzen le adatokat a projects és a members táblákból:

Itt van a kimenet:

Ebben a példában a lekérdezés olyan tagokat küldött vissza, akik projektekben vesznek részt, olyanokat, akik nem vesznek részt semmilyen projektben, és olyan projekteket, amelyeknek nincs tagja.

A tagok megkeresése, akik nem vesznek részt a projektben bármilyen projekt és projekt w aminek nincs tagja, a fenti lekérdezéshez hozzáad egy WHERE záradékot:

A következő kép a kimenetet mutatja:

Amint azt a kimenet világosan mutatja, Jack Daniel nem vesz részt egyetlen projektben sem, és a Develop Mobile Sales Platform tagoknak nincsenek tagjaik.

Ebben az oktatóanyagban megtanulta az SQL Server teljes külső használatát. csatlakozzon két vagy több táblázat lekérdezéséhez.

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