PostgreSQL LEFT JOIN (Dansk)

Resumé: i denne tutorial vil du lære, hvordan du bruger PostgreSQL LEFT JOIN klausul til at vælge data fra flere tabeller.

Introduktion til PostgreSQL LEFT JOIN klausul

Antag at du har to tabeller: A og B.,

Hver række i tabellen A kan have nul eller flere tilsvarende rækker i tabellen B mens hver række i tabellen B har én og kun én tilsvarende række i tabellen A .

til At vælge data fra tabellen A, som måske eller måske ikke er tilsvarende rækker i tabellen B , kan du bruge LEFT JOIN klausul.,

følgende udtalelse illustrerer LEFT JOIN syntaks, der slutter sig til bordet A tabel med B :

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

for At slutte sig til bordet A tabel med B tabel ved hjælp af en left join, skal du følge disse trin:

  • Første, angive kolonner i begge tabeller, som du ønsker at vælge data i SELECT klausul.
  • Andet, angiv den venstre tabel (tabel A) i FROM klausul.,
  • Tredje, skal du angive den rigtige tabel (tabel B) i LEFT JOIN klausul, og deltage tilstand efter ON søgeord.

LEFT JOIN klausul begynder at vælge data fra venstre tabel. For hver række i venstre tabel sammenligner den værdien i kolonnen pka med værdien af hver række i kolonnen fka i højre tabel.,

hvis disse værdier er ens, opretter Left join-klausulen en ny række, der indeholder kolonner, der vises i SELECT – klausulen og tilføjer denne række til resultatsættet.

Hvis disse værdier ikke er ens, opretter Left join-klausulen også en ny række, der indeholder kolonner, der vises i SELECT – klausulen. Derudover udfylder den kolonnerne, der kommer fra højre tabel med NULL.,

følgende Venn-diagram illustrerer, hvordan den LEFT JOIN klausul værker:

Bemærk at LEFT JOIN er også nævnt som LEFT OUTER JOIN.

PostgreSQL LEFT JOIN eksempler

Lad os se på følgende: film og inventory tabeller fra eksempeldatabasen.,

Hver række i film tabel kan have nul eller flere rækker i inventorytabel. Hver række iinventory tabellen har en og kun en række i film tabellen.

film_id kolonne etablerer forbindelsen mellem film og inventory tabeller.,

Den følgende sætning bruger LEFT JOIN klausulen til at deltage film tabel med inventorytabel:

Når en række fra film tabellen ikke har en matchende linje i inventorytabel, værdien af inventory_id kolonne af denne række er NULL.,

følgende erklæring tilføjer en WHERE klausul for at finde de film, der ikke er i opgørelsen:

følgende erklæring returnerer det samme resultat., Forskellen er, at det bruger tabellen alias for at gøre forespørgslen mere kortfattet:

Hvis begge tabeller har samme kolonne navn, der bruges i ON klausul, du kan bruge USING syntaks som dette:

Denne teknik er nyttig, når du vil markere rækker fra en tabel, der ikke har matchende rækker i en anden tabel.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Videre til værktøjslinje