starter her? Denne lektion er en del af en fuld længde tutorial i at bruge s .l til dataanalyse. Tjek begyndelsen.

I denne lektion vil vi dække:

  • LEFT JOIN kommando
  • Praksis problemer

LEFT JOIN kommando

Lad os starte med at køre en INNER JOIN på Crunchbase datasæt og tage et kig på resultaterne. Vi vil bare se på company-permalink i hver tabel, samt et par andre felter, for at få en fornemmelse af, hvad der faktisk bliver tilsluttet.,

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink

Du vil måske bemærke, at “280 North” vises to gange i denne liste. Det skyldes, at det har to poster i tutorial.crunchbase_acquisitions tabel, som begge er forbundet til tutorial.crunchbase_companies tabel.,

Nu kan du prøve at køre forespørgslen som en LEFT JOIN:

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies LEFT JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink

Du kan se, at de første to selskaber fra det tidligere resultat, #waywire og 1000memories, er skubbet ned på siden af en række resultater, der indeholder null-værdier i acquisitions_permalink og acquired_date felter.,

Dette er fordi LEFT JOIN kommando fortæller database til at returnere alle rækker i tabellen i FROM bestemmelse, uanset om eller ikke de har kampe i tabellen i LEFT JOIN klausul.,

Skærpe din SQL-færdigheder

Du kan udforske forskellene mellem en LEFT JOIN og JOIN ved at løse disse praktiske problemer:

Praksis Problem

Skriv en forespørgsel, der udfører en inner join mellem tutorial.crunchbase_acquisitions tabelposition > > og tutorial.crunchbase_companies tabel, men i stedet en liste over de enkelte rækker, tæller antallet af ikke-null rækker i hver tabel.,

prøv det se svaret

Øvelsesproblem

Rediger forespørgslen ovenfor for at være enLEFT JOIN. Bemærk forskellen i resultater.

Prøv det, Se svar

Nu, at du har fået en fornemmelse af, hvordan venstre slutter virker, kan du prøve det sværere sammenlægning problem:

Praksis Problem

Tælle antallet af unikke virksomheder (du skal ikke dobbelt-tæller virksomheder) og unikke erhvervede virksomheder med staten., Medtag ikke resultater, for hvilke der ikke er nogen statsdata, og bestil efter antallet af erhvervede virksomheder fra højeste til laveste.

prøv det se svaret

0