SQL Server Full Outer Join (Dansk)

Oversigt: I denne vejledning lærer du, hvordan du bruger SQL Server FULL OUTER JOIN forespørgsel om data fra to eller flere tabeller.

Introduktion til SQL Server fuld ydre sammenføjning

FULL OUTER JOIN returnerer et resultatsæt, der inkluderer rækker fra både venstre og højre bord. Når der ikke findes nogen matchende rækker for rækken i venstre tabel, har kolonnerne i højre tabel nul. Tilsvarende, når der ikke findes nogen matchende rækker for rækken i højre tabel, vil kolonnen i den venstre tabel have nuller.

Det følgende viser syntaksen for FULL OUTER JOIN når du forbinder to tabeller T1 og T2:

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

Nøgleordet OUTER er valgfrit, så du kan springe det over som vist i følgende forespørgsel:

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

I denne syntaks :

  • Angiv først den venstre tabel T1 i FROM -klausulen.
  • For det andet skal du angive den rigtige tabel T2 og et sammenføjningspredikat.

Følgende Venn-diagram illustrerer FULL OUTER JOIN af to resultatsæt:

Eksempel på SQL Server fuld ydre sammenføjning

Lad os oprette en eksempeltabel for at demonstrere den fulde ydre sammenføjning.

Opret først en ny skema med navnet pm som står for projektledelser.

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

Opret derefter nye tabeller med navnet projects og members i skemaet pm:

Antag at hvert medlem kun kan deltage i et projekt, og hvert projekt har nul eller flere medlemmer. Hvis et projekt er i idéfasen, er der derfor ikke noget medlem tildelt.

Indsæt derefter nogle rækker i projects og members tabeller:

Derefter spørger data fra projects og members tabellerne:

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

Brug til sidst FULL OUTER JOIN til at forespørge på data fra projects og members tabeller:

Her er output:

I dette eksempel returnerede forespørgslen medlemmer, der deltager i projekter, medlemmer, der ikke deltager i nogen projekter, og projekter, der ikke har nogen medlemmer.

At finde de medlemmer, der ikke deltager i ethvert projekt og projekter w der ikke har nogen medlemmer, skal du tilføje en WHERE -klausul til ovenstående forespørgsel:

Følgende billede viser output:

Som tydeligt vist i output, Jack Daniel deltager ikke i noget projekt, og Develop Mobile Sales Platform har ingen medlemmer.

I denne vejledning har du lært, hvordan du bruger SQL Server fuldt ud deltage i forespørgselsdata fra to eller flere tabeller.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *