Articles

SQL-LEFT JOIN

Resumé: i denne tutorial, vil vi præsentere dig for en anden slags slutter kaldet SQL-LEFT JOIN, der giver dig mulighed for at hente data fra flere tabeller.

Introduktion til SQL-LEFT JOIN klausul

I den foregående tutorial, du har lært om den indre join, der returnerer rækker, hvis der er mindst én række i begge tabeller, der matcher tilslutte tilstand. Den indre sammenføjningsklausul eliminerer de rækker, der ikke stemmer overens med en række i den anden tabel.,

den venstre join returnerer dog alle rækker fra den venstre tabel, uanset om der er en matchende række i den højre tabel.

Antag, at vi har to tabeller A og B. tabellen A har fire rækker 1, 2, 3 og 4. Tabel B har også fire rækker 3, 4, 5, 6.

Når vi slutter os til tabel A med tabel B, er alle rækkerne i tabel a (venstre tabel) inkluderet i resultatsættet, om der er en matchende række i tabel B eller ej.

I SQL, skal vi bruge følgende syntaks til at deltage i En tabel med tabel B.,

Left JOIN-klausulen vises efter fra-klausulen. Den tilstand, der følger PÅ søgeord kaldes deltage tilstand B.n = A.n

SQL-LEFT JOIN eksempler

SQL-LEFT JOIN to tabeller eksempler

Lad os tage et kig på det countries og locations tabeller.

Hver lokalitet tilhører ét og kun ét land, mens hvert land kan have nul eller flere steder., Forholdet mellem landene og steder tabeller er en-til-mange.kolonnen country_id i tabellen placeringer er den fremmede nøgle, der linker til kolonnen country_id i tabellen lande.for at forespørge landets navne på USA, Storbritannien og Kina bruger du følgende erklæring.,0bc”>

Se det i aktion

følgende forespørgsel henter de steder, der er beliggende i USA, STORBRITANNIEN og Kina:

Se det i aktion

Nu, vi bruge LEFT JOIN-delsætning til at slutte sig til de lande, tabel med de steder, tabel som følgende forespørgsel:

Se det i aktion

Den tilstand, HVOR klausulen er anvendt således, at den erklæring, der kun henter data fra USA, STORBRITANNIEN og Kina rækker.,

fordi vi bruger Left JOIN-klausulen, er alle rækker, der opfylder betingelsen i countrieshere-klausulen i tabellen lande, inkluderet i resultatsættet.

for hver række i landetabellen finder Left JOIN-klausulen de matchende rækker i placeringstabellen.

Hvis der findes mindst en matchende række, kombinerer databasemotoren dataene fra kolonner i de matchende rækker i begge tabeller.

Hvis der ikke findes nogen matchende række f.eks. med country_id CN, er rækken i landetabellen inkluderet i resultatsættet, og rækken i placeringstabellen er fyldt med NULL-værdier.,da ikke-matchende rækker i den højre tabel er fyldt med NULL-værdierne, kan du anvende Left JOIN-klausulen til at gå glip af rækker mellem tabeller.

For eksempel, at finde det land, der ikke har nogen steder i steder tabellen, skal du bruge følgende forespørgsel:

Se det i aktion

SQL-LEFT JOIN 3 tabeller eksempel

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

En region kan have nul eller flere lande, og hvert land er placeret i den ene region. Forholdet mellem lande og regioner tabeller er en-til-mange. Kolonnen region_id i tabellen lande er forbindelsen mellem tabellen lande og regioner.,

Den følgende sætning viser, hvordan man kan deltage i 3 tabeller: regioner, lande og steder:

Se det i aktion

Nu skal du have en god forståelse af, hvordan SQL-LEFT JOIN klausul fungerer, og vide, hvordan anvendelse af LEFT JOIN-delsætning til at forespørge på data fra flere tabeller.

  • var denne vejledning nyttig ?
  • YesNo