Começando aqui? Esta lição é parte de um tutorial completo sobre o uso de SQL para análise de dados. Confira o início.
Nesta lição, cobriremos:
- Junções externas
- O conjunto de dados Crunchbase
Junções externas
Ao realizar uma junção interna, as linhas de qualquer uma das tabelas sem correspondência na outra não são retornadas. Em uma junção externa, as linhas sem correspondência em uma ou ambas as tabelas podem ser retornadas. são alguns tipos de junções externas:
-
LEFT JOIN
retorna apenas linhas sem correspondência da tabela à esquerda. -
RIGHT JOIN
retorna apenas linhas sem correspondência da tabela certa. -
FULL OUTER JOIN
retorna linhas sem correspondência de ambas as tabelas.
Conforme você trabalha nas seguintes lições sobre junções externas, pode ser útil consultar esta visualização do JOIN de Patrik Spathon.
O conjunto de dados Crunchbase
Os dados para as lições a seguir foram extraídos do Crunchbase, um índice crowdsourced de startups, fundadores, investidores e as atividades de todos três. Ele foi coletado em 5 de fevereiro de 2014, e grandes porções de ambas as tabelas foram descartadas aleatoriamente para fins desta lição. A primeira tabela lista uma grande parte das empresas no banco de dados; uma linha por empresa. O campo permalink
é um identificador exclusivo para cada linha e também mostra o endereço da web. Para cada empresa na tabela, você pode ver seu perfil on-line do Crunchbase copiando / colando seu permalink após o domínio da web do Crunchbase. Por exemplo, a terceira empresa na tabela, “.Club Domains,” tem o link permanente “/ company / club-domains”, portanto, seu endereço de perfil seria http://www.crunchbase.com/company/club-domains. Os campos com “financiamento” no nome referem-se a quanto investimento externo (em USD) cada empresa assumiu. O restante dos campos são autoexplicativos.
A segunda tabela lista as aquisições – uma linha por aquisição. company_permalink
nesta tabela mapeia para o campo permalink
em tutorial.crunchbase_companies
conforme descrito na lição anterior . A junção desses dois campos adicionará informações sobre a empresa que está sendo adquirida.
Você notará que há um campo separado chamado acquirer_permalink
também. Isso também pode ser mapeado para o campo permalink
tutorial.crunchbase_companies
para adicionar informações adicionais sobre a empresa adquirente.
A chave estrangeira que você usa para unir essas duas tabelas dependerá inteiramente de se você deseja adicionar informações sobre a empresa adquirente ou a empresa que foi adquirida.
Vale a pena observando que esse tipo de estrutura é comum. Por exemplo, uma tabela que mostra uma lista de e-mails enviados pode incluir um sender_email_address
e um recipient_email_address
, ambos mapeiam para uma tabela que lista endereços de e-mail e os nomes de seus proprietários.