Sammendrag: i denne opplæringen lærer du hvordan du bruker SQL Server FULL OUTER JOIN
for å spørre om data fra to eller flere tabeller.
Introduksjon til SQL Server fullstendig sammenføyning
FULL OUTER JOIN
returnerer et resultatsett som inkluderer rader fra både venstre og høyre tabell. Når det ikke finnes noen samsvarende rader for raden i venstre tabell, vil kolonnene i høyre tabell ha null. På samme måte, når det ikke finnes noen samsvarende rader for raden i høyre tabell, vil kolonnen i venstre tabell ha null.
Følgende viser syntaksen til FULL OUTER JOIN
når du blir med i to tabeller T1
og T2
:
Code language: SQL (Structured Query Language) (sql)
Nøkkelordet OUTER
er valgfritt, slik at du kan hoppe over det som vist i følgende spørsmål:
Code language: SQL (Structured Query Language) (sql)
I denne syntaksen :
- Angi først den venstre tabellen
T1
iFROM
klausulen. - For det andre, spesifiser riktig tabell
T2
og et sammenføyningspredikat.
Følgende Venn-diagram illustrerer FULL OUTER JOIN
av to resultatsett:
Eksempel på fullstendig sammenføyning av SQL Server
La oss sette opp noen eksempletabeller for å demonstrere hele ytre sammenføyning.
Først oppretter du en skjema med navnet pm
som står for prosjektledelse.
Code language: SQL (Structured Query Language) (sql)
Deretter oppretter du nye tabeller med navnet projects
og members
i pm
-skjemaet:
Anta at hvert medlem bare kan delta i ett prosjekt og hvert prosjekt har null eller flere medlemmer. Hvis et prosjekt er i idéfasen, er det derfor ikke tildelt noe medlem.
Deretter setter du inn noen rader i projects
og members
tabeller:
Deretter spørringsdata fra projects
og members
tabellene:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Til slutt, bruk FULL OUTER JOIN
for å spørre om data fra projects
og members
tabellene:
Her er utgangen:
I dette eksemplet returnerte spørringen medlemmer som deltar i prosjekter, medlemmer som ikke deltar i noen prosjekter og prosjekter som ikke har noen medlemmer.
Å finne medlemmene som ikke deltar i ethvert prosjekt og prosjekter w som ikke har noen medlemmer, legger du til en WHERE
-klausul i spørringen ovenfor:
Følgende bilde viser utdataene:
Som tydelig vist i utgangen, Jack Daniel
deltar ikke i noe prosjekt og Develop Mobile Sales Platform
har ingen medlemmer.
I denne veiledningen har du lært hvordan du bruker SQL Server fullstendig ytre bli med i spørringsdata fra to eller flere tabeller.