Técnicas SQL | Análise de dados usando SQL

Conteúdo

Visão geral

  • SQL é uma linguagem obrigatória para qualquer pessoa em ciência de dados ou análise.
  • Aqui tem 8 Técnicas de SQL engenhosas para análise de dados com as quais os profissionais de análise e ciência de dados adorarão trabalhar

Introdução

SQL é um equipamento chave no arsenal de um profissional de ciência de dados. Eu falo por experiência: você simplesmente não pode esperar construir uma carreira de sucesso em ciência de dados ou análise se ainda não aprendeu SQL.

E por que o SQL é tão importante?

À medida que avançamos para uma nova década, a velocidade com que produzimos e consumimos dados dispara dia a dia. Para tomar decisões inteligentes baseadas em dados, organizações em todo o mundo estão contratando profissionais de dados, como analistas de negócios e cientistas de dados para extrair e descobrir insights do vasto tesouro de dados.

E uma das ferramentas mais importantes necessárias para isso é, Eu acho que, ¡SQL!

data-analysis-using-sql-8937988

A linguagem de consulta estruturada (SQL) existe há décadas. É uma linguagem de programação usada para gerenciar dados armazenados em bancos de dados relacionais. SQL é usado pela maioria das grandes empresas em todo o mundo. Um analista de dados pode usar SQL para acessar, leitura, manipular e analisar dados armazenados em um banco de dados e gerar informações úteis para conduzir um processo de tomada de decisão informado.

Neste artigo, Eu discutirei 8 técnicas / Consultas SQL que irão prepará-lo para quaisquer problemas de análise de dados avançados. Observe que este artigo pressupõe um conhecimento muito básico de SQL.

Eu sugeriria verificar os cursos abaixo se você é novo em SQL e / ou análise de negócios:

Tabela de conteúdo

  1. Vamos primeiro entender o conjunto de dados
  2. Técnica SQL n. ° 1: contar linhas e elementos
  3. Técnica SQL n. ° 2: funções de agregação
  4. Técnica SQL # 3: Identificação de valores extremos
  5. Técnica SQL n. ° 4: corte de dados
  6. Técnica SQL n. ° 5: limitação de dados
  7. Técnica SQL n. ° 6: classificação de dados
  8. Técnica SQL n. ° 7: padrões de filtro
  9. Técnica SQL n. ° 8: clusters, acumulação de dados e filtragem em grupos

Vamos primeiro entender o conjunto de dados

Qual é a melhor maneira de aprender a analisar dados? Fazendo isso lado a lado em um conjunto de dados!! Para este propósito, Eu criei um conjunto de dados fictício de uma loja de varejo. A tabela de dados do cliente é representada por ConsumerDetails.

Nosso conjunto de dados consiste nas seguintes colunas:

  • Nome – O nome do consumidor
  • Localização – A localização do cliente
  • Total_amt_spend – A quantia total de dinheiro gasta pelo consumidor na loja.
  • Indústria – Significa a indústria à qual o consumidor pertence

Observação: – Vou usar MySQL 5.7 avançar no artigo. Você pode baixá-lo aqui – Descargas de My SQL 5.7.

0-data-6-9265872

Técnica SQL n. ° 1: contagem de linha e item

Começaremos nossa análise com a consulta mais simples, quer dizer, contando o número de linhas em nossa mesa. Faremos isso usando a função – CONTAR ().

1-contagem-4504295

Excelente! Agora sabemos o número de linhas em nossa tabela, o que é 10. Pode parecer divertido usar esta função em um pequeno conjunto de dados de teste, Mas pode percorrer um longo caminho quando suas fileiras chegam a milhões!!

Muitas vezes, nossa tabela de dados está cheia de valores duplicados. Para alcançar o valor único, usamos a função DISTINCT.

Em nosso conjunto de dados, Como podemos encontrar os setores exclusivos aos quais os clientes pertencem?

Você adivinhou certo. Podemos fazer isso usando a função DISTINCT.

2-distinto-300x151-7977259

Você pode até contar o número de linhas únicas usando a contagem em conjunto com diferentes. Você pode consultar a seguinte consulta:

3-countdistinct-6591535

Técnica SQL # 2 – Funções de agregação

As funções de agregação são a base de qualquer tipo de análise de dados. Eles nos dão uma visão geral do conjunto de dados. Algumas das funções que discutiremos são: SOMA (), AVG () e STDDEV ().

Nós usamos o SOMA() função para calcular a soma da coluna numérica em uma tabela.

Vamos descobrir a soma do valor gasto por cada um dos clientes:

4-sum-5865741

No exemplo acima, sum_all é a variável na qual o valor da soma é armazenado. A soma da quantia de dinheiro gasta pelos consumidores é Rs. 12.560.

Para calcular a média das colunas numéricas, nós usamos o AVG () Função. Vamos encontrar o gasto médio do consumidor em nossa loja de varejo:

5-avg-4303079

O valor médio gasto pelos clientes na loja de varejo é Rs. 1256.

  • Calcule o desvio padrão

Se você olhou para o conjunto de dados e, em seguida, o valor médio dos gastos do consumidor, você deve ter notado que algo está faltando. A média não fornece uma imagem completa, então vamos procurar outra métrica importante: o desvio padrão. A função é STDDEV ().

6-stddev-4210362

O desvio padrão acaba sendo 829,7, o que significa que há uma grande disparidade entre os gastos do consumidor.

Técnica SQL # 3 – Identificação de valores extremos

O próximo tipo de análise é identificar valores extremos que o ajudarão a entender melhor os dados..

O valor numérico máximo pode ser identificado pela função MAX (). Vamos ver como aplicá-lo:

7-max-7006437

A quantia máxima de dinheiro que o consumidor gasta na loja de varejo é Rs. 3000.

Semelhante à função max, nós temos a função MIN () para identificar o valor numérico mínimo em uma determinada coluna:

8-min-2344496

A quantidade mínima de dinheiro gasta pelo consumidor na loja de varejo é Rs. 350.

Técnica SQL n. ° 4: corte de dados

Agora, vamos nos concentrar em uma das partes mais importantes da análise de dados: dividir os dados. Esta seção da análise formará a base para consultas avançadas e ajudará você a recuperar dados com base em algum tipo de condição.

  • Digamos que a loja de varejo queira encontrar clientes que venham de uma localidade, especificamente Shakti Nagar e Shanti Vihar. Qual será a consulta para isso?

9-filter-locality-5941816

Genial, tenho 3 clientes! Usamos a cláusula WHERE para filtrar os dados com base na condição de que os consumidores devem morar na localidade: Shakti Nagar y Shanti Vihar. Eu não usei a condição OR aqui. Em seu lugar, Usei o operador IN, que nos permite especificar vários valores na cláusula WHERE.

  • Precisamos encontrar clientes que morem em locais específicos (Shakti Nagar y Shanti Vihar) e gastar uma quantia maior do que Rs. 2000.

10-filter-locality2-2780627

Em nosso conjunto de dados, apenas Shantanu e Natasha atendem a essas condições. Como ambas as condições devem ser atendidas, a condição AND é mais adequada aqui. Vamos ver outro exemplo para dividir nossos dados.

  • Desta vez, a loja de varejo quer reconquistar todos os consumidores que gastam entre Rs. 1000 y Rs. 2000 para gerar ofertas especiais de marketing. Qual será a consulta para isso?

11-filter-total_amt_spend-5493003

Outra maneira de escrever a mesma declaração seria:

12-filter-total_amt_spend2-6211844

Apenas Rohan está eliminando esse critério!!

Excelente! Chegamos ao meio de nossa jornada. Vamos construir mais sobre o conhecimento que adquirimos até agora.

Técnica SQL n. ° 5: limitação de dados

Digamos que queremos ver a tabela de dados composta por milhões de registros. Não podemos usar a instrução SELECT diretamente, pois isso despejaria toda a tabela em nossa tela, que é complicado e computacionalmente intensivo. Em seu lugar, podemos usar o LIMITE cláusula:

14-limit-4072710

O comando SQL acima nos ajuda a mostrar o primeiro 5 linhas da tabela.

O que você fará se quiser apenas selecionar a quarta e a quinta linhas? Usaremos a cláusula OFFSET. A cláusula OFFSET irá pular o número especificado de linhas. Vamos ver como isso funciona:

15-offset-with-limit-4108178

Técnica SQL n. ° 6: classificação de dados

A classificação de dados nos ajuda a colocar nossos dados em perspectiva. Podemos realizar o processo de classificação usando a palavra-chave – ORDENAR POR.

A palavra-chave pode ser usada para classificar os dados em ordem crescente ou decrescente. A palavra-chave ORDER BY classifica os dados em ordem crescente por padrão.

Vejamos um exemplo no qual classificamos os dados de acordo com a coluna Total_amt_spend em ordem crescente:

16-sort-1-5168163

Impressionante! Para classificar o conjunto de dados em ordem decrescente, podemos seguir o seguinte comando:

17-sort2-2698815

Técnica SQL # 7 – Padrões de filtragem

Nas seções anteriores, aprendemos como filtrar dados com base em uma ou mais condições. Aqui, aprenderemos como filtrar as colunas que correspondem a um padrão específico. Para continuar com isso, primeiro entenderemos o operador LIKE e os caracteres curinga.

O operador LIKE é usado em uma cláusula WHERE para encontrar um padrão específico em uma coluna.

O caractere curinga é usado para substituir um ou mais caracteres em uma string. Eles são usados ​​em conjunto com o operador LIKE. Os dois caracteres curinga mais comuns são:

    • %: Representa 0 ou mais personagens
    • _ – Representa um único personagem

Em nosso conjunto de dados de varejo fictício, digamos que queremos todas as localidades que terminam com "Nagar". Reserve um momento para entender a definição do problema e pense em como podemos resolvê-lo..

Vamos tentar resolver o problema. Exigimos todos os locais que terminam com “Nagar” e eles podem ter qualquer número de caracteres antes desta string particular. Portanto, podemos fazer uso do curinga “%” antes de “Nagar”:

18-filter_pattern1-3145307

Impressionante, tenho 6 localidades que terminam com este nome. Observe que estamos usando o operador LIKE para realizar a correspondência de padrões.

A seguir, vamos tentar resolver outro problema com base em padrões. Queremos os nomes dos consumidores cujo segundo personagem tem “uma” em seus respectivos nomes. Novamente, Eu sugiro que você reserve um momento para entender o problema e pense em uma lógica para resolvê-lo.

Vamos analisar o problema. Aqui, o segundo personagem deve ser “uma”. O primeiro personagem pode ser qualquer coisa, então substituímos esta letra pelo caractere curinga "_". Depois do segundo personagem, pode haver qualquer número de caracteres, então substituímos esses caracteres pelo curinga “%”. O padrão final de correspondência será parecido com este:

19-filter_pattern2-4206682

Tenho 6 pessoas que satisfazem esta estranha condição!

Técnica SQL n. ° 8: clusters, acumulação de dados e filtragem em grupos

Finalmente chegamos a uma das ferramentas de análise mais poderosas em SQL: o agrupamento de dados que é feito usando a instrução GROUP BY. A aplicação mais útil desta declaração é encontrar a distribuição de variáveis ​​categóricas. Isso é feito usando a instrução GROUP BY em conjunto com funções de agregação como – CONTAR, SOMA, AVG, etc.

Vamos tentar entender isso melhor fazendo uma declaração do problema. A loja de varejo deseja encontrar o número de clientes correspondentes aos setores a que pertence:

20-groupby1-6562280

Observamos que a contagem de clientes pertencentes às diferentes indústrias é mais ou menos a mesma. Então, Vamos em frente e encontrar a soma das despesas dos clientes agrupados pelo setor a que pertencem:

21-groupby2-8094823

Podemos ver que o valor máximo gasto é por clientes pertencentes ao Manufatura indústria. Isso parece um pouco fácil, verdade? Vamos dar um passo à frente e torná-lo mais complicado.

Agora, o varejista quer encontrar as indústrias cujos Total é maior que 2500. Para resolver este problema, vamos reagrupar os dados por setor e, em seguida, usar a cláusula HAVING.

A cláusula HAVING é como a cláusula WHERE, mas apenas para filtrar dados agrupados. Lembrar, virá sempre após a instrução GROUP BY.

22-groupby-3-8445702

Temos apenas 3 categorias que satisfazem as condições: Aviação, Defendendo, e Manufatura. Mas para deixar mais claro, Também adicionarei a palavra-chave ORDER BY para torná-lo mais intuitivo:

23-groupby4-4805299

Notas finais

Estou tão feliz que você chegou até aqui. Estes são os blocos de construção de todas as consultas de análise de dados em SQL. Você também pode fazer consultas avançadas usando esses princípios básicos. Neste artigo, eu usei mysql 5.7 para definir os exemplos.

Eu realmente espero que essas consultas SQL ajudem você no seu dia a dia quando você estiver analisando dados complexos. Tenha algumas dicas e truques para analisar dados em SQL? Deixe-me saber nos comentários!!

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.