začíná zde? Tato lekce je součástí plné délky tutoriálu v používání SQL pro analýzu dat. Podívejte se na začátek.

V této lekci si vysvětlíme:

  • left JOIN příkaz
  • problémy

left JOIN příkaz

začněte tím, že spuštění INNER JOIN na Crunchbase dataset a podívat se na výsledky. Budeme jen se podívejte na company-permalink v každé tabulce, stejně jako pár dalších oborů, získat pocit, co to vlastně připojil.,

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

můžete si všimnout, že „280 North“ se v tomto seznamu objeví dvakrát. Je to proto, že má dvě položky v tabulce tutorial.crunchbase_acquisitions, z nichž obě jsou spojeny do tabulky tutorial.crunchbase_companies.,

Nyní zkuste tento dotaz jako 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

můžete vidět, že první dvě společnosti z předchozího výsledku, #waywire a 1000memories, jsou tlačil dolů na stránku a počet výsledků, které obsahují null hodnoty v acquisitions_permalink acquired_date pole.,

, protože LEFT JOIN příkaz říká, databáze vrátit všechny řádky v tabulce v FROM bodě, bez ohledu na to, zda nebo ne oni mají zápasy v tabulce v LEFT JOIN klauzule.,

Zostřit vaše SQL dovednosti

Si můžete prohlédnout rozdíly mezi LEFT JOIN JOIN tím, že řešení těchto problémů praxi:

Praxe Problém

Napsat dotaz, který provádí vnitřní spojení mezi tutorial.crunchbase_acquisitions tabulka tutorial.crunchbase_companies tabulky, ale místo toho, aby výpis jednotlivých řádků, počet non-null řádky v každé tabulce.,

Zkuste to Vidět odpověď

Praxe Problém

Upravit dotaz výše. LEFT JOIN. Všimněte si rozdílu ve výsledcích.

Zkuste to Vidět odpověď

Nyní, když máte pocit, jak odešel připojí fungovat, zkuste to těžší, agregace problém:

Praxe Problém

Počítat počet unikátních firem (ne double-počet firem) a unikátní získané společností od státu., Nezahrnujte výsledky, pro které neexistují žádné státní údaje, a pořadí podle počtu získaných společností od nejvyšších po nejnižší.

Vyzkoušejte to podívejte se na odpověď