En hurtig guide til brug af indre forbindelser i SQL

click fraud protection

Relationelle databaser er en stabil for mange virksomheder. De oprettes med et computersprog kaldet Structured Query Language (SQL). Hvis du arbejder med relationel databaser, vil du lejlighedsvis undersøge eller indsamle data, der er placeret i mere end en tabel i databasen.

Hvad er en SQL JOIN-erklæring?

En SQL JOIN-sætning gør det muligt at slutte sig til to eller flere tabeller, normalt baseret på en relateret kolonne, så dataene behandles som om de er placeret i en tabel. Tabellerne selv ændres ikke af sammenføjningen.

SQL JOIN er fleksibel og funktionel. Selvom der er flere typer sammenføjninger, er den indre sammenføjning en af ​​de letteste at forstå og bruge. Se på følgende SQL-sætninger, der illustrerer, hvordan man kombinerer resultater fra tre forskellige tabeller ved hjælp af en indre sammenføjning.

Eksempel på indre sammenføjning

Tag f.eks tabeller, der indeholder drivere i den ene tabel og køretøjsmatchups i den anden. Den indre sammenføjning opstår, hvor både køretøjet og chaufføren er placeret i samme by. Den indre sammenføjning vælger alle rækkerne fra begge tabeller, der indeholder et match mellem placeringskolonner.

instagram viewer

SQL-sætningen nedenfor kombinerer data fra tabellerne Drivere og køretøjer i tilfælde, hvor føreren og køretøjet er placeret i samme by:

VÆLG efternavn, fornavn, tag
FRA chauffører, køretøjer
HVOR drivers.location = køretøjer.location

Denne forespørgsel giver følgende resultater:

efternavn fornavnemærke

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

Udvid nu dette eksempel til at omfatte en tredje tabel. Hvis du kun vil medtage chauffører og køretøjer til stede på steder, der er åbne i weekenden, skal du medbringe en tredje tabel i forespørgslen ved at udvide JOIN-erklæringen som følger:

VÆLG efternavn, fornavn, tag, open_weekends
FRA chauffører, køretøjer, placeringer
HVOR drivers.location = køretøjer.location
OG køretøjer. Placering = placeringer. Placering
OG locations.open_weekends = 'Ja'

Denne forespørgsel giver følgende resultater:

efternavn fornavnemærke open_weekends

Bager Roland H122JM ja
Jacobs Abraham J291QR ja
Jacobs Abraham L990MY ja

Denne kraftfulde udvidelse til den grundlæggende SQL JOIN-sætning kombinerer data på en kompleks måde. Ud over at kombinere tabeller med en indre sammenføjning kombinerer denne teknik flere tabeller med andre typer sammenføjninger.

Andre typer sammenføjninger

Når tabellerne har en matchende post, er indre sammenføjninger vejen at gå, men nogle gange har en tabel ikke en relateret post for de data, som sammenføjningen er bygget på, så forespørgslen mislykkes. Denne sag kræver en ydre sammenføjning, som inkluderer resultater, der findes i en tabel, men ikke har et tilsvarende match i den sammenføjede tabel.

Derudover kan du vælge at bruge en anden type sammenkædning afhængigt af omstændighederne. Disse andre typer sammenføjninger er:

  • Venstre ydre sammenføjning (venstre sammenføjning): Indeholder hver post fra venstre tabel, selvom den højre tabel ikke har en matchende post.
  • Højre ydre sammenføjning (højre tilslutning): Returnerer alle relevante oplysninger fra højre tabel, selvom den venstre tabel ikke har et match.
  • Fuld deltagelse: Vælger alle poster fra to tabeller, uanset om de har en matchende sammenkædningsbetingelse eller ej.
instagram story viewer