Inizi da qui? Questa lezione fa parte di un tutorial completo sull’uso di SQL per l’analisi dei dati. Controlla l’inizio.
In questa lezione tratteremo:
- Unioni esterne
- Il set di dati di Crunchbase
Outer join
Quando si esegue un inner join, le righe di una tabella che non hanno corrispondenza nell’altra tabella non vengono restituite. In un outer join, possono essere restituite righe senza corrispondenza in una o entrambe le tabelle. ci sono alcuni tipi di outer join:
-
LEFT JOIN
restituisce solo righe senza corrispondenza dalla tabella di sinistra. -
RIGHT JOIN
restituisce solo righe senza corrispondenza dalla tabella di destra. -
FULL OUTER JOIN
restituisce righe senza corrispondenza da entrambe le tabelle.
Mentre svolgi le seguenti lezioni sugli outer join, potrebbe essere utile fare riferimento a questa visualizzazione JOIN di Patrik Spathon.
Il set di dati di Crunchbase
I dati per le seguenti lezioni sono stati estratti da Crunchbase, un indice crowdsourcing di startup, fondatori, investitori e le attività di tutti tre. È stato raccolto il 5 febbraio 2014 e grandi porzioni di entrambi i tavoli sono state eliminate in modo casuale per il bene di questa lezione. La prima tabella elenca una gran parte delle aziende nel database; una riga per azienda. Il campo permalink
è un identificatore univoco per ogni riga e mostra anche l’indirizzo web. Per ogni azienda nella tabella, puoi visualizzare il suo profilo Crunchbase online copiando / incollando il suo permalink dopo il dominio web di Crunchbase. Ad esempio, la terza azienda nella tabella, “.Club Domains”, ha il permalink “/ company / club-domains”, quindi il suo indirizzo del profilo sarebbe http://www.crunchbase.com/company/club-domains. I campi con “finanziamento” nel nome hanno a che fare con quanto investimento esterno (in USD) ha assunto ciascuna società. Gli altri campi sono autoesplicativi.
La seconda tabella elenca le acquisizioni: una riga per acquisizione. company_permalink
in questa tabella è mappato al campo permalink
in tutorial.crunchbase_companies
come descritto nella lezione precedente . L’unione di questi due campi aggiungerà informazioni sull’azienda acquisita.
Noterai che è presente anche un campo separato chiamato acquirer_permalink
. Questo può anche essere mappato al permalink
campo tutorial.crunchbase_companies
per aggiungere ulteriori informazioni sulla società acquirente.
La chiave esterna che utilizzi per unire queste due tabelle dipenderà interamente dal fatto che tu “stia cercando di aggiungere informazioni sulla società acquirente o sulla società che è stata acquisita.
Vale la pena notando che questo tipo di struttura è comune. Ad esempio, una tabella che mostra un elenco di email inviate potrebbe includere un sender_email_address
e un recipient_email_address
, entrambi mappati a una tabella che elenca gli indirizzi email e i nomi dei rispettivi proprietari.