Hovedforskjell: Tilkoblinger i SQL utføres for å kombinere dataene i to forskjellige tabeller. En Inner Join er en betingelse som resulterer i radene som tilfredsstiller "hvor" -klausulen i "alle tabellene"; mens et ytre medlemskap er en betingelse som resulterer i de radene som tilfredsstiller "hvor" -klausulen i "minst en av tabellene".
Ved å implementere samlingene, opprettes de midlertidige tabellene, disse er basert på kolonner. Det bør alltid være to bord, for tilmeldingsbetingelsene. Disse forholdene sammenføyer deretter de respektive komponentene i ett bord med de andre komponentene, og gir opphav til et helt nytt bord. Målet med disse tabellene er å trekke ut de meningsfulle og nødvendige data eller informasjon. Avhengig av forholdene er det to typer sammenføyninger, indre og ytre sammenhenger.
SQL INNER JOIN Syntax:
VELG kolonnenavn (e)
FRA tabell1
INNER JOIN table2
ON table1.column_name = table2.column_name;
INNER JOIN-nøkkelordet velger alle rader fra begge tabellene så lenge det er en kamp mellom kolonnene i begge tabellene.
De indre samlingene avhenger av valg av databasedesign og egenskaper. Følgelig brukes disse indre sammenhenger i Equi-Joins og Natural Joins. I Equi Join, er det en spesifikk type sammenligning som er brukt til å utjevne de to oppgitte tabellene. Derfor bruker denne tabellen lik predikatet. Den naturlige kombinasjonen er en type Equi delta.
Syntaks for Equi Join er som følger:
S ELECT *
FRA tabell1, tabell 2
WHERE table1.coloumn_name = table2.coloumn_name;
Hvis kolonnene i en equi-join har samme navn, gir den respektive SQL-versjonen en valgfri kortfattet notasjon som kan uttrykkes av USING-konstruksjonen som:
Å VELGE *
FROM table1 INNER JOIN table2 BRUKER (column_name);
Syntaks for Natural Join er som følger:
Å VELGE *
FRA tabell1 NATURLIGT JORDBORD2;
En "ytre sammenføyning" trenger ikke matchende forhold for postene. Denne tilmeldingsbetingelsen opprettholder alle de andre postene, i tillegg til de ikke-samsvarende postene. Denne tilknytningen distribueres videre i venstre, høyre og fulle ytre sammenføyningsforhold, som implementeres i henhold til de ønskede tabellforholdene og attributter.
Venstre Ytre Bli med
LEFT JOIN-søkeordet returnerer alle rader fra venstre tabell (tabell1), med de tilsvarende radene i det høyre tabellen (tabell2). Det resulterer "NULL" i høyre side når det ikke er noen kamp.
Syntaxen for venstre ytre deltakelse følger:
VELG kolonnenavn (e)
FRA tabell1
VENSTRE YTRE JOIN bord2
ON table1.column_name = table2.column_name;
Høyre Ytre Bli med
RIGHT JOIN-søkeordet returnerer alle rader fra det høyre tabellen (tabell2), med de tilhørende radene i venstre tabell (tabell1). Resultatet er NULL i venstre side når det ikke er noen kamp.
Syntaxen for Right Outer Join følger:
VELG kolonnenavn (e)
FRA tabell1
HØYRE YTRE JOIN-tabell2
ON table1.column_name = table2.column_name;
Full Outer Join
FULL YTTERLIG JOIN-nøkkelord returnerer alle rader fra venstre bord (tabell1) og høyre tabell (tabell2). FULL YTTERLIG JOIN-søkeordet kombinerer både resultatet av venstre og høyre sammenhenger.
Syntaxen for Full Outer Join er:
VELG kolonnenavn (e)
FRA tabell1
FULL YTRE JOIN bord2
ON table1.column_name = table2.column_name;
Sammenligning mellom Inner Join og Outer Join:
Inner Bli med | Outer Join | |
Grunnleggende funksjon | Innerforbindelser brukes i utgangspunktet til å finne matchende rader mellom 2 bord. | Ytre fest beholder radene i begge tabellene, eller begge tabellene. |
Eksisterende vanlige variabler | Her må den vanlige variabelen være obligatorisk i begge tabellene. | Her er variabelen avhengig av bare den første tabellen som kanskje eller ikke er tilstede i den andre tabellen. |
returer | Innerforening vil bare returnere rader der det er en kamp basert på tilmeldingsprotikatet. | Ytre delta vil returnere alle rader om de er matchbaserte eller ikke matchet, basert på tilmeldingsprotikatet. |
Pleide å | Det brukes kun til å vise postene når postene er til stede på begge tabellene. | Det brukes til å vise alle postene i bare ett bord. |
Gjelder i | De gjelder i: Equi-Join og Naturlig Bli med | De gjelder som: Venstre Ytre Bli med Høyre Ytre Bli med Full Outer Join |