MySQL VENSTRE BLI med

Oppsummering: i denne opplæringen vil du lære om MySQL LEFT JOIN klausulen, og hvordan du skal bruke det til spørring data fra to eller flere tabeller.

Introduksjon til MySQL VENSTRE BLI med

LEFT JOIN lar deg spørring data fra to eller flere tabeller. Lik INNER JOIN klausulen, LEFT JOIN er et valgfritt punkt på SELECT uttalelse, som vises umiddelbart etter FROM klausulen.,

Tenk deg at du ønsker å bli med i to tabeller t1 og t2.

følgende uttalelse viser hvordan du kan bruke LEFT JOIN klausulen til å bli med i to tabeller:

Code language: SQL (Structured Query Language) (sql)

Når du bruker LEFT JOIN klausulen, konsepter venstre bordet, og den høyre tabellen er innført.

I over syntaks, t1 er du til venstre bord og t2 er rett bord.,

LEFT JOIN klausulen velger data fra venstre tabellen (t1). Det kamper hver rad fra venstre tabellen (t1) med hver rad fra retten tabell(t2) basert på join_condition.

Hvis radene fra begge tabellene føre bli med tilstanden evalueres til TRUE, LEFT JOIN kombiner kolonner, rader fra begge bord til en ny rad, og inkluderer denne nye raden i resultatet rader.,

I tilfelle rad fra venstre tabellen (t1) ikke samsvarer med noen rad fra høyre bord(t2), LEFT JOIN fortsatt kombinerer kolonner, rader fra begge tabellene inn en ny rad, og inkluderer den nye raden i resultatet rader. Imidlertid, den bruker NULL for alle kolonnene i raden fra høyre bord.

med andre ord, LEFT JOIN returnerer alle radene fra venstre tabellen uavhengig av om en rad fra venstre bordet har en matchende rad fra høyre bord eller ikke., Hvis det ikke er noen treff, kolonnene i raden fra høyre tabellen vil inneholde NULL.

følgende Venn-diagram hjelper deg med å visualisere hvordan LEFT JOIN klausulen fungerer:

MySQL BLI med VENSTRE – Venn-Diagram

MySQL VENSTRE BLI med eksempler

La oss ta noen eksempler på bruk av LEFT JOIN klausulen.,

1) ved Hjelp av MySQL-LEFT JOIN-setningsdel til å bli med to tabeller

Se følgende tabeller customers og orders i eksempeldatabasen.

Hver kunde kan ha null eller flere bestillinger mens hver bestilling må tilhøre en kunde.,

Denne spørringen bruker LEFT JOIN klausul for å finne alle kunder og deres bestillinger:

Code language: SQL (Structured Query Language) (sql)

Alternativt kan du spare litt å skrive ved hjelp av tabell aliaser:

Code language: SQL (Structured Query Language) (sql)

I dette eksempelet:

  • customers er du til venstre bord og orders er rett bord.
  • LEFT JOIN klausulen gir alle kunder, inkludert kunder som har ingen ordre., Hvis en kunde har ingen ordre, verdiene i kolonnen orderNumber og status er NULL.,

Fordi både tabell kunder og ordrer som har samme kolonne navn ( customerNumber) i delta tilstand med lik operatør, kan du bruke den BRUKE syntaks som følger:

Code language: SQL (Structured Query Language) (sql)

følgende setninger er tilsvarende:

Code language: SQL (Structured Query Language) (sql)

Og

Code language: SQL (Structured Query Language) (sql)

Hvis du bytter LEFT JOIN klausulen av INNER JOIN klausulen, vil du få det bare for kunder som har minst én ordre.,

2) ved Hjelp av MySQL-LEFT JOIN-setningsdel å finne uovertruffen rader

LEFT JOIN klausulen er veldig nyttig når du vil finne rader i en tabell som ikke har et tilsvarende rad fra en annen tabell.,»>

for å finne kunder som har ingen rekkefølge:

Code language: SQL (Structured Query Language) (sql)

3) Ved hjelp av MySQL VENSTRE BLI med å delta i tre tabeller

Se følgende tre tabeller employees, customers, og payments:

Dette eksemplet bruker to LEFT JOIN klausuler til å delta i tre tabeller: employees, customers, og payments.,

Code language: SQL (Structured Query Language) (sql)

Dette bildet viser delvis utgang:

Hvordan det fungerer.

  • første LEFT JOIN returnerer alle ansatte og kunder, som representerte hver ansatt eller NULL hvis den ansatte ikke har ansvar for alle kunder.
  • andre LEFT JOIN returnerer betaling for hver kunde, representert ved en ansatt eller NULL hvis kunden har ingen betaling.

Tilstanden i WHERE-betingelsen vs., PÅ punkt

Se følgende eksempel.

Code language: SQL (Structured Query Language) (sql)

Dette eksemplet brukes LEFT JOIN klausulen spørring data fra tabeller orders og orderDetails. Spørringen returnerer orden og sin linje av elementer av ordrenummeret 10123.,

Imidlertid, hvis du flytter den tilstand fra WHERE klausulen ON klausulen:

Code language: SQL (Structured Query Language) (sql)

Det vil ha en annen betydning.,

I dette tilfellet, returnerer spørringen alle ordrer, men bare for 10123 vil ha artikler knyttet til det som i følgende bilde:

legg Merke til at for INNER JOIN klausulen, tilstanden i ON klausulen er tilsvarende tilstand i WHERE klausulen.

I denne opplæringen, har du lært hvordan du bruker MySQL LEFT JOIN klausulen til å bli med data fra to eller flere tabeller.,

  • Var denne opplæringen nyttig?
  • YesNo

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *