Dia 3: SQL avançado para ciência de dados

Dec 22 2022
Este blog contém Agregação em SQL e palavras-chave importantes do SQL (Union, Union all, Group By, Order By, Tendo, instruções Case). Olá pessoal.

Este blog contém Agregação em SQL e palavras-chave importantes do SQL (Union, Union all, Group By, Order By, Tendo, instruções Case).

Olá pessoal. Espero que tudo esteja indo bem. Aqui está o terceiro blog para a transição do SQL do Básico para o Avançado. Dê uma lida.

Agrupar por

A instrução GROUP BY agrupa linhas que têm os mesmos valores em linhas de resumo , como “encontre o número de clientes em cada país”. A instrução GROUP BY é freqüentemente usada com funções agregadas ( COUNT() , MAX() , MIN() , SUM() , AVG() ) para agrupar o conjunto de resultados por uma ou mais colunas.

Agrupar por Com Tendo

A HAVINGcláusula foi adicionada ao SQL porque a WHEREpalavra-chave não pode ser usada com funções agregadas.

Ordenar por

A cláusula Order by é usada quando precisamos de nossos dados por ordem crescente ou decrescente.

. Order by asc (mostra os dados em ordem crescente)

. Order by desc (mostra os dados em ordem decrescente)

Agrupar por com Ter e Ordenar por

Precisamos usar order by depois de ter condition .

Agregação em SQL

Existem várias funções de agregação. Uma função de agregação executa um cálculo em um conjunto de valores e retorna um único valor. Exceto por COUNT(*), funções agregadas ignoram valores nulos. As funções agregadas são frequentemente usadas com a cláusula GROUP BY da instrução SELECT.

Use funções de agregação como expressões apenas nas seguintes situações:

  • A lista de seleção de uma instrução SELECT (uma subconsulta ou uma consulta externa).
  • Uma cláusula HAVING.

Pergunta: por que group by é importante em funções agregadas?

A instrução GROUP BY em SQL é usada para organizar dados idênticos em grupos com a ajuda de algumas funções . ou seja, se uma determinada coluna tiver os mesmos valores em linhas diferentes, ela organizará essas linhas em um grupo. Pontos importantes: A cláusula GROUP BY é usada com a instrução SELECT.

Soma()

A SUM()função retorna a soma total de uma coluna numérica.

Contar()

A COUNT()função retorna o número de linhas que correspondem a um critério especificado.

Média()

A AVG()função retorna o valor médio de uma coluna numérica.

Mín()

A MIN()função retorna o menor valor da coluna selecionada.

máx()

A MAX()função retorna o maior valor da coluna selecionada.

Aliases de SQL

Aliases SQL são usados ​​para dar a uma tabela, ou uma coluna em uma tabela, um nome temporário. Os aliases costumam ser usados ​​para tornar os nomes das colunas mais legíveis.

Um alias é criado com a ASpalavra-chave.

Aqui, lastpurchase é um alias para cada vendedor com sua última data de venda .

UNIÃO SQL

O UNIONoperador é usado para combinar o conjunto de resultados de duas ou mais SELECTinstruções.

  • Cada SELECTinstrução dentro UNIONdeve ter o mesmo número de colunas
  • As colunas também devem ter tipos de dados semelhantes
  • As colunas em cada SELECTinstrução também devem estar na mesma ordem
  • select user_id,name from user
    union 
    select guest_user_id,name from Guest;
    
           
                    

select user_id,name from user
union all
select guest_user_id,name from Guest;

O operador SQL INTERSECT combina duas instruções select e retorna apenas o conjunto de dados que é comum em ambas as instruções . Simplificando, ele atua como uma interseção matemática. Em matemática, a interseção de A e B são os dados comuns presentes em A e B.

select user_id,name from user
Intersect 
select guest_user_id,name from Guest;

A cláusula/operador SQL EXCEPT é usada para combinar duas instruções SELECT e retorna linhas da primeira instrução SELECT que não são retornadas pela segunda instrução SELECT. Isso significa que EXCEPT retorna apenas linhas, que não estão disponíveis na segunda instrução SELECT.

Assim como com o operador UNION, as mesmas regras se aplicam ao usar o operador EXCEPT.

select user_id,name from user
Except 
select guest_user_id,name from Guest;

A CASEexpressão passa por condições e retorna um valor quando a primeira condição é atendida (como uma instrução if-then-else). Assim, quando uma condição for verdadeira, ele irá parar de ler e retornar o resultado. Se nenhuma condição for verdadeira, ele retorna o valor na ELSEcláusula.

Se não houver nenhuma ELSEparte e nenhuma condição for verdadeira, ele retornará NULL.

## Case statements
select user_id ,age,gender,case when age >= 25 and gender = 'F' then 1 else 0 end from user ;

## Case statement with count
select gender , count(case when gender = 'F' then user_id end) female ,
count(case when gender = 'M' then user_id end) male  from user group by 1;

## In one statement
select gender , count(case when gender = 'F' then user_id when gender =  'M' then user_id end)  from user group by 1;

## In one statement with more than one condition
select gender , count(case when age >= 25 and gender = 'F' then user_id when age >= 25 and gender =  'M' then user_id end)  from user group by 1;

      
                

GITHUB: DIA 3 Sessão

Referência:

  1. https://www.w3schools.com/sql/default.asp
  2. https://www.geeksforgeeks.org/

Siga-me para mais postagens relacionadas à ciência de dados!

Vamos nos conectar no LinkedIn !

Obtenha sua personalidade NFT
e encontre sua comunidade onde quer que vá

https://www.personalitynft.com/