Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
Top 8 Operacoes SQL Para Manipulacao de Dados

Top 8 Operações SQL Para Manipulação de Dados

Posted on 11 de maio de 202211 de maio de 2022 by David Matos

Uma base de dados relacional (dados tabulares) é uma das bases de dados mais utilizadas em projetos de Ciência de Dados.

E SQL é uma das linguagens de programação mais utilizadas para manipulação de dados relacionais.

A Linguagem SQL é usada ativamente por Analistas de Dados e Cientistas de Dados para tarefas de extração de dados e manipulação de dados.

Neste artigo você encontra as Top 8 Operações SQL Para Manipulação de Dados.

1- Limit: Observar as linhas lhe dará uma ideia dos valores dentro das diferentes colunas da tabela de dados. Buscar e ver “todas” as linhas da tabela de dados é uma operação cara, leva tempo e consome recursos computacionais. Portanto, a funcionalidade de buscar as primeiras linhas da tabela de dados se torna muito útil. A cláusula Limit é usada para buscar as primeiras linhas de uma tabela. Por exemplo, queremos buscar as 5 primeiras linhas da tabela tb_pedidos (em maiúsculo é instrução SQL):

SELECT * FROM tb_pedidos Limit 5;

2- Agregação: A operação de agregação é usada para encontrar a soma, contagem, min, max, etc… dos valores de uma coluna. Por exemplo, se quisermos encontrar a quantidade total (ou unidades) de produtos vendidos, podemos aplicar a função SUM() à coluna quantidade. Da mesma forma, também podemos encontrar o número máximo de unidades vendidas para um produto aplicando a função MAX() na coluna de quantidade, como nos exemplos abaixo:

SELECT SUM(quantidade) FROM tb_pedidos;

SELECT MAX(quantidade) FROM tb_pedidos;

3- Where: A cláusula Where é usada para filtrar as linhas com base em alguns valores de coluna. Por exemplo, imagine se quisermos ver a quantidade total vendida correspondente ao id do produto 129, podemos usar a cláusula Where na coluna de id do produto:

SELECT id_produto, SUM(quantidade) FROM tb_pedidos WHERE id_produto = 129;

4- Groupby: Group by é usado para localizar as agregações/grupos no nível da coluna. Group by é usado junto com as agregações como soma, min, max, contagem, etc. Por exemplo, para encontrar o total de unidades vendidas para todos os produtos, podemos agrupar por id do produto e encontrar a soma da quantidade:

SELECT id_produto, SUM(quantidade) FROM tb_pedidos GROUP BY id_produto;

5- Having: A cláusula Having é usada para aplicar um filtro nas colunas/valores agregados. Por exemplo, imagine que queremos encontrar os produtos com uma quantidade total vendida superior a 745 unidades, podemos usar a cláusula Having para aplicar o filtro na quantidade agregada:

SELECT id_produto, SUM(quantidade)
FROM tb_pedidos
GROUP BY id_produto
HAVING SUM(quantidade) > 745;

Obs: Where é usado para aplicar um filtro nas colunas já existentes de uma tabela, enquanto que Having é usado para aplicar um filtro nos valores agregados de uma coluna.

6- Order by: A cláusula Order by é usada para classificar os valores de uma coluna em ordem crescente (por padrão) ou decrescente. Por exemplo, podemos buscar o total de unidades vendidas por produto e depois ordenar por esse total de forma decrescente, como demonstrado abaixo:

SELECT id_produto, SUM(quantidade)
FROM tb_pedidos
GROUP BY id_produto
ORDER BY SUM(quantidade) DESC;

7- Join: Join é usado para combinar as informações presentes em 2 tabelas de dados em uma única tabela. Imagine se quisermos obter as informações sobre os produtos, podemos juntar a tabela de detalhes do pedido com a tabela de produtos para obter as informações do produto. Para juntar 2 tabelas de dados, precisamos juntá-las pela chave primária (ou colunas) que são comuns em ambas as tabelas. No exemplo abaixo, estamos aplicando a junção interna (INNER JOIN) entre as duas tabelas usando a coluna id_produto:

SELECT a.*, b.*
FROM tb_pedidos as a
INNER JOIN
tb_produtos as b
ON a.id_produto = b.id_produto;

8- Window: A função Window é usada para aplicar funções em um subconjunto/janela de dados. Por exemplo, para encontrar os 3 produtos mais vendidos em cada categoria, podemos particionar nossos dados por coluna de categoria (partição por id_categoria), classificá-los por quantidade total (de alta a baixa), anexar o número da linha a cada linha e filtrar as 3 primeiras linhas (como mostrado no código abaixo). Esta é uma das funções mais avançadas em SQL.

SELECT *
FROM
(SELECT c.*, ROW_NUMBER() OVER(PARTITION BY c.id_categoria ORDER BY c.tot_qtd DESC) AS ‘Row_Number’
FROM (SELECT b.id_categoria, a.id_produto, SUM(a.quantidade) as ‘tot_qtd’
FROM tb_pedidos as a
INNER JOIN
tb_produtos as b
ON a.id_produto = b.id_produto
GROUP BY b.id_categoria, a.id_produto)c )d
WHERE Row_Number <= 3;

Há muitas outras operações em SQL que são úteis no dia a dia. Recomendo este excelente material em português se quiser conhecer mais: SQL Para Data Science.

David Matos

Referências:

SQL Tutorial

10 SQL Operations for 80% of your Data Manipulation

Compartilhar

  • Clique para compartilhar no Twitter(abre em nova janela)
  • Clique para compartilhar no Facebook(abre em nova janela)
  • Clique para compartilhar no LinkedIn(abre em nova janela)
  • Clique para compartilhar no WhatsApp(abre em nova janela)
  • Clique para compartilhar no Telegram(abre em nova janela)
  • Clique para compartilhar no Tumblr(abre em nova janela)
  • Clique para compartilhar no Pinterest(abre em nova janela)

Relacionado

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Twitter

Meus Tuítes

Tags Mais Comuns nos Posts

Anaconda Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence ChatGPT Chief Data Officer Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Descriptive Analytics Diagnostic Analytics Engenharia de Dados Engenheiro de Dados Estatística GPU Hadoop Inteligência Artificial Internet of Things Linguagem Python Linguagem R Machine Learning MapReduce Metadados NoSQL NVIDIA Open Data Oracle Predictive Analytics Prescriptive Analytics Probabilidade Python Salários Data Science Visualização

Histórico de Posts

  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (5)
  • dezembro 2022 (8)
  • novembro 2022 (7)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2022 Ciência e Dados