alkaen täältä? Tämä oppitunti on osa täyspitkää opetusohjelma käyttää SQL tietojen analysointiin. Katso alkua.
tällä oppitunnilla me kattaa:
- Suodatus ON lauseke
- Suodatus MISSÄ lauseke
- Käytännön ongelmia
Suodatus ON lauseke
Normaalisti, suodatus on käsitelty WHERE lauseke, kun kaksi pöytää on jo liittynyt. On mahdollista, vaikka haluat ehkä suodattaa yhden tai molemmat pöydät ennen liittymistä niihin., Esimerkiksi pöytien välille halutaan luoda otteluita vain tietyissä olosuhteissa.,
Käyttämällä Crunchbase tietoja, katsotaanpa ottaa toisen tarkastella LEFT JOIN esimerkki aiemmasta opetus (tällä kertaa saamme lisää ORDER BY lauseke):
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 ORDER BY 1
Vertaile seuraava kysely edelliseen yksi ja näet, että kaikki tutorial.crunchbase_acquisitions taulukko liittyi paitsi rivi jossa company_permalink on '/company/1000memories':
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 AND acquisitions.company_permalink != '/company/1000memories' ORDER BY 1
Mitä tapahtuu edellä on, että ehdollinen lausunto AND... arvioidaan ennen liittyä tapahtuu., Voit ajatella sitä WHERE lauseke, joka koskee vain yksi taulukoita. Voit kertoa, että tämä on vain tapahtuu yhdessä taulukoita, koska 1000memories permalink näkyy edelleen sarakkeessa, joka vetää muut taulukossa:

Suodatus where
Jos siirrät saman suodattimen WHERE lauseke, huomaat, että suodatin tapahtuu sen jälkeen, kun pöydät ovat liittyneet., Tuloksena on, että 1000memories rivi on liittynyt päälle alkuperäisen taulukon, mutta sitten se suodatetaan pois kokonaan (sekä taulukot) WHERE lauseke ennen tulosten esittämistä.
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 WHERE acquisitions.company_permalink != '/company/1000memories' OR acquisitions.company_permalink IS NULL ORDER BY 1
Voit nähdä, että 1000memories linja ei ole palannut (se olisi ollut kahden korostettu linjat alla). Huomaa myös, että WHERE – lausekkeessa oleva suodatus voi myös suodattaa null-arvot, joten lisäsimme ylimääräisen rivin varmistaaksemme, että nullit sisällytetään.,

Teroita SQL-taitoja
tämän joukon käytännön ongelmia, aiomme ottaa käyttöön uusi aineisto: tutorial.crunchbase_investments. Tämä taulukko on myös peräisin Crunchbase ja sisältää paljon samaa tietoa kuin tutorial.crunchbase_companies tiedot. Se on kuitenkin rakenteeltaan erilainen: se sisältää yhden rivin sijoitusta kohden. Yhtiökohtaisia sijoituksia voi olla useita-on jopa mahdollista, että yksi sijoittaja voisi sijoittaa samaan yhtiöön useita kertoja. Kolumnit ovat aika itsestään selviä., Mikä on tärkeää on, että company_permalink tutorial.crunchbase_investments taulukko kartat permalink tutorial.crunchbase_companies taulukko. Muista, että joitakin satunnaisia tietoja on poistettu tästä taulukosta tämän oppitunnin vuoksi.
on hyvin todennäköistä, että sinun on tehtävä tässä taulukossa tutkimusanalyysi ymmärtääksesi, miten saatat ratkaista seuraavat ongelmat.,
Käytännössä Ongelma
Kirjoita kysely, joka osoittaa, yrityksen nimi, ”status” (löytyy Yrityksiä, taulukko), ja määrä ainutlaatuinen sijoittajille, että yhtiö. Tilaa sijoittajamäärällä useimmista fewestiin. Rajataan vain New Yorkin osavaltion yrityksiin.
Kokeile Nähdä vastaus
Käytännössä Ongelma
Kirjoita kysely, joka listaa sijoittajat perustuu yritysten määrä, jonka ne ovat sijoittaneet. Sisällytä rivi yrityksille, joilla ei ole sijoittajaa, ja tilaa useimmilta yrityksiltä vähiten.,
kokeile sitä Katso vastaus
Leave a Reply