Typer av sammanfogningar i SQL Server - Topp 5 går med i SQL Server med exempel

Innehållsförteckning:

Anonim

Översikt över typer av sammanfogningar i SQL Server

Gå-klausulen, JOIN-sökordet är sammanslagna flera tabeller i en resultatset. FRA-klausulen måste inkludera alla tabeller. Separerar varje tabell med ett komma WHERE-klausul som normalt ingår.

Vi kan lägga in det booleska uttrycket som returnerar sant eller falskt, och dessa uttryck kan hänvisa till kolumner i alla tabeller.

Typer av sammanfogningar i SQL Server

Det finns olika typer av sammanfogningar

  • KRÄSS GÅ MED
  • INRE KOPPLING
  • YTRE GÅ MED
  1. Vänster yttre medlem
  2. RIGHT OUTER JOIN
  • FULL YTTERLEDNING
  • SJÄLV GÅ MED

Låt oss förstå var och en av dessa sammanfogningar i detalj:

1) Cross Join

  • Detta är den enklaste GÅ MED
  • Det returnerar alla rader från båda tabellerna
  • Ingen VAR-klausul
  • Detta är också det minst användbara
  • Det är väldigt ineffektivt
  • Det skapar en kartesisk produkt
  • CROSS sökord underförstått

Exempel

Så alla från det första bordet med alla data från det andra bordet utan försök att matcha något, så det är det du inte vill göra.

Leta efter FRA-klausulen där du har flera tabeller och det finns ingen WHERE-klausul.

2) Inre gå

Frågautgång:

Dina första och sista raderna har fått koordinerande värden involverade i C2. Mittraderna möts vanligtvis inte. Det sista slutresultatet tillhandahåller alla värden genom såväl den initiala som de sista raderna inkluderar ännu inte den icke-matchande raden i mitten.

  • Detta är mest typiskt GÅ MED
  • Detta betonade databasens relationella karaktär
  • Det gör att vi kan matcha kolumnvärdet i en av tabellerna till kolumnvärdet i ett annat av tabellerna.
  • Den primära nyckeln i ett av tabellerna och en utländsk nyckel i en av de andra tabellerna.

Exempel

Här är p.person_id vår primära nyckel i vår persontabell,

email_address_person_id är vår utländska nyckel i e-postadresstabellen.

Låt oss titta på personbordet

Vi har de fyra raderna. Och sedan alla matchningar inuti e-postadresstabellen.

Så till slut bör vi få tre personer eftersom vi har en person Shannon som inte har en e-postadress

Frågautgång:

Så vi får bara data där det finns en matchning mellan de två kolumnerna i var och en av tabellerna

3) Yuter Join

  • INNER JOIN behandlar inte NULL-värden
  • OUTER JOIN fungerar även om det inte finns någon matchning i den andra tabellen.
  • NULL-kolumner om ingen matchning i den andra tabellen
  • FULL OUTER JOIN returnerar alla sammanfogade rader
  • NULL när ingen match i någon tabell

a) Left Yuter Join

Frågautgång: Du är både initial och sista raderna har koordinerande värden involverade i C2. Mittraderna möts vanligtvis inte. Det sista slutresultatet kan behålla alla rader i det första bordet men kommer faktiskt att lämna den omatchade raden genom det andra bordet.

  • En annan NULL-relaterad JOIN
  • Alla rader från vänster sida returneras
  • NULL för icke-matchande höger sidobord

Exempel

Frågautgång:

Du märker att det finns en rad i persontabellen som inte har värden i e-postadresstabellen. Så LEFT OUTER JOIN kommer att ge oss.

b) Höger yttre koppling

Frågautgång:

Du är både initial och sista raderna har koordinerande värden involverade i C2. Mittraderna möts vanligtvis inte. Det sista slutresultatet skulle kunna hålla alla raderna i det andra bordet men kommer faktiskt att lämna den omatchade raden genom det första bordet.

  • Mittemot Vänster yttre medlem
  • Alla rader från höger sida returneras
  • NULL för ett icke-matchande vänster sidobord

Exempel Frågautgång:

Vi får tre resultat. Här är vårt RIGHT OUTER JOIN-resultat där vi har raden från e-postadresstabellen som inte har en motsvarande rad i den högra tabellen.

4) Full Outer Join

Exempel

Frågautgång:

Vi får kombinera resultatet av LEFT OUTER JOIN och RIGHT OUTER JOIN

5) Självmedlem

  • SELF är inte ett nyckelord. Det är bara den här idén som du kan få en tabell på sig själv
  • Udda men ibland användbara
  • Ingen speciell syntax
  • Samma tabell på vänster och höger sida av JOIN
  • Användbar när en tabell innehåller hierarkiska data

Exempel

VÄLJ *

FRÅN order

GÅ MED prenumerationer

ON orders.subscription_id = prenumerationer.subscription_id;

Vi får beställningstabell och prenumerationstabell och GÅ MED i tabellen med VÄLJ alla kolumner.

För att få resultatet.

Slutsats:

Skarvar är det sätt som vi verkligen får den relationella modellen till liv. Relationsmodellen handlar om att ha uppdelat data, normaliserat i flera tabeller, men att kunna föra tillbaka dem igen när vi vill se dessa relationer. Och de olika typerna av Joins tillåter oss att göra det på något olika sätt.

Rekommenderade artiklar

Detta har varit en guide till typer av sammanfogningar i SQL-servern. Här diskuterar vi översikten och typer av sammanfogningar i SQL med deras exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är SQL Server?
  2. Karriärer i SQL Server
  3. PL SQL-utbildning
  4. MySQL-operatörer
  5. Topp 6 typer av sammanfogningar i MySQL med exempel