Starte her? Denne leksjonen er en del av en full-lengde opplæringen i bruk av SQL for Data-Analyse. Sjekk ut begynnelsen.
I denne leksjonen vil vi dekke:
- VENSTRE BLI med kommandoen
- Praksis problemer
BLI med VENSTRE kommando
La oss starte ved å kjøre en INNER JOIN
på Crunchbase dataset og ta en titt på resultatene. Vi får bare se på company-permalink
i hver tabell, samt et par andre felt, for å få en følelse av hva som faktisk blir medlem.,
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 kan legge merke til at «280 Nord» vises to ganger i denne listen. Det er fordi den har to oppføringer i tutorial.crunchbase_acquisitions
bordet, både som blir sluttet på tutorial.crunchbase_companies
tabell.,
Nå kan du prøve å kjøre dette spørsmålet 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 to første selskapene fra forrige resultat, #waywire og 1000memories, er skjøvet ned på siden av en rekke resultater som inneholder null-verdier i acquisitions_permalink
og acquired_date
felt.,
Dette er fordi LEFT JOIN
– kommandoen forteller database til å returnere alle rader i tabellen i FROM
klausulen, uavhengig av om de har kamper i tabellen i LEFT JOIN
klausulen.,
Skjerpe dine SQL ferdigheter
Du kan utforske forskjellene mellom en LEFT JOIN
og JOIN
ved å løse disse problemer praksis:
Praksis Problem
Skriv en spørring som utfører en indre sammenføyning mellom tutorial.crunchbase_acquisitions
bordet og tutorial.crunchbase_companies
bordet, men i stedet for å liste enkelte rader, telle antall ikke-null rader i hver tabell.,
Prøv det ut og Se svaret
Praksis Problem
Endre spørringen over å være en LEFT JOIN
. Merk forskjellen i resultater.
Prøv det ut og Se svaret
Nå som du har fått en følelse av hvordan venstre slutter seg arbeid, kan du prøve dette vanskeligere aggregering problem:
Praksis Problem
Telle antall unike selskaper (ikke dobbel-count-selskaper) og unike oppkjøpte selskaper med staten., Inkluderer ikke resultater som det er ingen stat data, og rekkefølgen av antall kjøpte selskaper fra høyest til lavest.
Prøv det ut og Se svaret