começando aqui? Esta lição é parte de um tutorial de comprimento completo no uso de SQL para análise de dados. Olha para o início.

nesta aula vamos cobrir:

  • LEFT JOIN comando
  • Prática de problemas

LEFT JOIN comando

Vamos começar pela execução de uma INNER JOIN sobre o Crunchbase conjunto de dados, e tendo um olhar para os resultados. Nós vamos apenas olhar para company-permalink em cada tabela, bem como um par de outros campos, para obter uma noção do que está realmente sendo unido.,

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

pode notar que “280 North” aparece duas vezes nesta lista. Isso porque tem duas entradas na tabela , ambas as quais estão sendo unidas na tabela tutorial.crunchbase_companies.,

Agora, tente executar essa consulta como uma 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

Você pode ver que as duas primeiras empresas a partir do conjunto de resultados anterior, #waywire e 1000memories, são empurradas para baixo a página por um número de resultados que contêm valores nulos acquisitions_permalink e acquired_date campos.,

Isto é porque o LEFT JOIN comando informa o banco de dados para retornar todas as linhas da tabela FROM cláusula, independentemente de terem ou não têm correspondentes na tabela LEFT JOIN cláusula.,

Sharpen suas competências em SQL

Você pode explorar as diferenças entre um LEFT JOIN e uma JOIN resolvendo estes problemas:

a Prática de Problema

Escrever uma consulta que executa uma associação interna entre o tutorial.crunchbase_acquisitions tabela e tutorial.crunchbase_companies tabela, mas em vez de listar linhas individuais, contar o número de não-nulo linhas em cada tabela.,

Experimente e Veja a resposta

a Prática de Problema

Modificar a consulta acima para ser uma LEFT JOIN. Observe a diferença nos resultados.

Experimente e Veja a resposta

Agora que você já tem uma noção de como a esquerda se junta funcionar, tente este mais difícil de agregação problema:

a Prática de Problema

Contagem do número de empresas (não clique duas vezes contagem de empresas) e exclusivo de empresas adquiridas pelo estado., Não incluir resultados para os quais não há dados do estado, e ordem pelo número de empresas adquiridas do mais alto ao mais baixo.

Experimente ver a resposta