En rask guide til bruk av indre koblinger i SQL

click fraud protection

Relasjonsdatabaser er en stall for mange virksomheter. De er opprettet med et dataspråk kalt Structured Query Language (SQL). Hvis du jobber med relasjonell databaser, vil du av og til undersøke eller samle inn data som ligger i mer enn én tabell i databasen.

Hva er en SQL JOIN-uttalelse?

En SQL JOIN-setning gjør det mulig å bli med i to eller flere tabeller, vanligvis basert på en relatert kolonne, slik at dataene blir behandlet som om de ligger i en tabell. Tabellene i seg selv endres ikke av sammenføyningen.

SQL BLI MED er fleksibel og funksjonell. Selv om det er flere typer skjøter, er den indre skjøten en av de enkleste å forstå og bruke. Ta en titt på følgende SQL-setninger som illustrerer hvordan du kombinerer resultater fra tre forskjellige tabeller ved hjelp av en indre sammenføyning.

Eksempel på indre sammenføyning

Ta for eksempel tabeller som inneholder drivere i den ene tabellen og kjøretøykamper i den andre. Den indre skjøten oppstår der både kjøretøyet og sjåføren befinner seg i samme by. Den indre sammenføyningen velger alle radene fra begge tabellene som inneholder et samsvar mellom plasseringskolonner.

instagram viewer

SQL-setningen nedenfor kombinerer data fra drivertabellene i tilfeller der sjåføren og kjøretøyet befinner seg i samme by:

VELG etternavn, fornavn, tag
FRA sjåfører, kjøretøy
WHERE drivers.location = vehicles.location

Dette spørsmålet gir følgende resultater:

etternavn fornavn-tag

Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Nå utvider dette eksemplet til å inkludere en tredje tabell. For å bare inkludere sjåfører og kjøretøy som er til stede på steder som er åpne i helgen, ta med et tredje bord i spørringen ved å utvide JOIN-setningen som følger:

VELG etternavn, fornavn, tag, åpne helger
FRA sjåfører, kjøretøy, lokasjoner
WHERE drivers.location = vehicles.location
OG kjøretøy. Plassering = lokasjoner. Plassering
AND locations.open_weekends = 'Ja'

Dette spørsmålet gir følgende resultater:

etternavn fornavn tag åpen_helger

Baker Roland H122JM ja
Jacobs Abraham J291QR ja
Jacobs Abraham L990MY ja

Denne kraftige utvidelsen til den grunnleggende SQL JOIN-setningen kombinerer data på en kompleks måte. I tillegg til å kombinere bord med en indre skjøt, kombinerer denne teknikken flere bord med andre typer skjøter.

Andre typer sammenføyninger

Når tabellene har en samsvarende post, er indre sammenføyninger veien å gå, men noen ganger har en tabell ikke en relatert post for dataene koblingen er bygget på, så spørringen mislykkes. Denne saken krever en ytre sammenføyning, som inkluderer resultater som finnes i en tabell, men som ikke har en tilsvarende kamp i den sammenføyde tabellen.

I tillegg kan du velge å bruke en annen type kobling, avhengig av omstendighetene. Disse andre typer sammenføyninger er:

  • Venstre ytre skjøt (venstre sammenføyning): Inneholder hver post fra venstre tabell selv om høyre tabell ikke har en samsvarende post.
  • Høyre ytre sammenføyning (høyre sammenføyning): Returnerer all relevant informasjon fra høyre tabell selv om venstre tabell ikke har samsvar.
  • Full deltakelse: Velger alle postene fra to tabeller uansett om de har en samsvarende tilstand.
instagram story viewer