Articles

SQL VENSTRE BLI med

Oppsummering: i denne opplæringen, vil vi introdusere deg en annen type møter som kalles SQL VENSTRE DELTA som lar deg hente data fra flere tabeller.

Introduksjon til SQL LEFT JOIN-setningsdel

I den forrige tutorial, du har lært om indre delta som returnerer rader dersom det er minst én rad i begge tabellene som matcher bli med tilstanden. Inner join-setningsdel fjerner rader som samsvarer ikke med en rad av det andre bordet.,

venstre bli med, men returnerer alle radene fra venstre bordet om eller ikke det er en matchende rad i den høyre tabellen.

la oss Anta at vi har to tabellene A og B. tabellen A har fire rader, 1, 2, 3 og 4. Tabell B også har fire rader, 3, 4, 5, 6.

Når vi bli med på bord med En tabell B, alle radene i En tabell (venstre i tabellen), er inkludert i resultatet som angir om det er en matchende rad i tabell B eller ikke.

I SQL, kan vi bruke følgende syntaks for å bli med i tabellen med tabell B.,

The LEFT JOIN-setningsdel vises etter de FRA punkt. Tilstanden som følger PÅ søkeordet er kalt delta tilstand B.n = A.n

SQL VENSTRE BLI med eksempler

SQL VENSTRE BLI med to tabeller eksempler

La oss ta en titt på countries og locations tabeller.

Hvert sted tilhører ett og bare ett land, mens hvert land kan ha null eller flere steder., Forholdet mellom land og steder bord er en-til-mange.

country_id kolonne i tabell steder er utenlandske nøkkel som lenker til country_id kolonne i land bordet.

for Å søke i navn på land med USA, STORBRITANNIA og Kina, bruker du følgende uttalelse.,0bc»>

Se det i aksjon

følgende spørring henter steder som ligger i USA, STORBRITANNIA og Kina:

Se det i aksjon

Nå, bruker vi VENSTRE JOIN-setningsdel til å delta i land tabellen med tabell steder som følgende spørring:

Se det i aksjon

tilstanden i WHERE-betingelsen er brukt, slik at uttalelsen bare henter data fra USA, STORBRITANNIA og Kina rader.,

Fordi vi bruker VENSTRE JOIN-setningsdel, alle rader som oppfyller vilkåret i WHERE-betingelsen av landene i tabellen er inkludert i resultat.

For hver rad i land bordet, VENSTRE JOIN-setningsdel finner matchende rader i tabell steder.

Hvis minst én samsvarende rad funnet, database motoren kombinerer data fra kolonnene i matchende rader i begge tabellene.

I tilfelle det er ingen matchende rad fant f.eks., med country_id CN, rad-i land tabellen er inkludert i resultat og rad i tabell steder er fylt med NULL-verdier.,

Fordi ikke-matchende rader i den høyre tabellen er fylt med NULL-verdier, kan du bruke LEFT JOIN-setningsdel til miss-match mellom tabeller rader.

For eksempel, for å finne de land som ikke har noen steder i steder tabellen, kan du bruke følgende spørring:

Se det i aksjon

SQL VENSTRE BLI med 3 bord eksempel

Se følgende tabeller: regioner, land og steder.,

En region kan ha null eller mange land samtidig som hvert land er plassert i en region. Forholdet mellom land og regioner bord er en-til-mange. Den region_id kolonne i land tabellen er koblingen mellom land og regioner tabell.,

følgende uttalelse viser hvordan til å bli med 3 bord: regioner, land og steder:

Se det i aksjon

Nå bør du ha en god forståelse av hvordan SQL LEFT JOIN-setningsdel som fungerer og vet hvordan å bruke den VENSTRE JOIN-setningsdel til spørring data fra flere tabeller.

  • Var denne opplæringen nyttig ?
  • YesNo