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ěď