PostgreSQL VENSTRE BLI med

Oppsummering: i denne opplæringen vil du lære hvordan å bruke PostgreSQL LEFT JOIN klausulen for å velge data fra flere tabeller.

Introduksjon til PostgreSQL LEFT JOIN-setningsdel

Tenk deg at du har to tabeller: A og B.,

Hver rad i tabellen A kan ha null eller mange tilsvarende radene i tabellen B mens hver rad i tabellen B har ett og bare ett tilsvarende raden i tabellen A .

for Å velge data fra tabellen A som kan eller ikke kan ha tilsvarende radene i tabellen B , bruker du LEFT JOIN klausulen.,

følgende uttalelse illustrerer LEFT JOIN syntaks som blir bordet A tabell med B :

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

for Å bli med på bordet A tabell med B tabell ved hjelp av en venstre delta, må du følge disse trinnene:

  • Første, angi kolonner i begge tabellene som du vil bruke for å velge data i SELECT klausulen.
  • Annet, spesifiser venstre tabellen (tabell A) i FROM klausulen.,
  • Tredje, må du angi riktig tabell (tabell B) i LEFT JOIN klausulen og delta tilstand etter ON søkeord.

LEFT JOIN klausulen starter velge data fra venstre bordet. For hver rad i den venstre bordet, og det sammenligner verdien i pka kolonne med verdien av hver rad i fka kolonnen på høyre bord.,

Hvis disse verdiene er like, venstre join-setningsdel skaper en ny rad som inneholder kolonner som vises i SELECT klausulen, og legger denne raden til resultat.

I tilfelle at disse verdiene er ikke like, venstre join-setningsdel oppretter også en ny rad som inneholder kolonner som vises i SELECT klausulen. I tillegg, det fyller kolonner som kommer fra høyre bord med en NULL.,

følgende Venn-diagram illustrerer hvordan LEFT JOIN klausulen fungerer:

Merk at LEFT JOIN er også referert til som LEFT OUTER JOIN.

PostgreSQL VENSTRE BLI med eksempler

La oss se på følgende film og inventory tabeller fra prøven database.,

Hver rad i film tabell kan ha null eller mange rader i inventorytabell. Hver rad i inventory bordet har én og bare én rad i film tabell.

film_id kolonne etablerer koblingen mellom film og inventory tabeller.,

følgende uttalelse bruker LEFT JOIN klausulen til å bli med film tabell med inventorytabell:

Når en rad fra film bordet ikke har en matchende rad i inventorybordet, verdien av inventory_id kolonne på denne raden er NULL.,

følgende uttalelse legger til en WHERE klausulen for å finne filmer som ikke er på lager:

følgende uttalelse gir samme resultat., Forskjellen er at den bruker tabellen aliaser for å gjøre søket mer konsis:

Hvis begge tabellene har den samme kolonnen navn brukt i ON klausulen, du kan bruke USING syntaks som dette:

Denne teknikken er nyttig når du ønsker å velge rader fra en tabell som ikke har matchende rader i en annen tabell.

Legg igjen en kommentar

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

Hopp til verktøylinje