Skip to content

Sintaxe SQL X Sintaxe Pandas

Sintaxe SQL X Sintaxe Pandas

As duas instruções abaixo retornam o mesmo resultado:

Sintaxe SQL

SQL
# Sintaxe SQL

query5 = """SELECT Nome_Produto, AVG(Unidades_Vendidas)
            FROM tb_vendas_dsa
            WHERE Valor_Unitario > 199
            GROUP BY Nome_Produto
            HAVING AVG(Unidades_Vendidas) > 10"""

Observando essa sintaxe:

PROS:

  • Com essa mesma sintaxe, podemos utilizar em QUALQUER SGBD! (MYSql, Oracle, Microsoft SQL SERVER, DB2, SQLite, entre outros), ou seja, aprendemos uma vez e podemos aplicar em qualquer SGBD.
  • Linguagem mais simples e mais clara, não sendo tão necessário conhecimento de programação prévio.

CONTRAS:

  • Menos flexível em termos de programação, ficando restrito à apenas comandos SQL.
  • Por ser necessário estar conectado à um banco de dados, a performance é afetada em questões de conexão de rede, em larga escala, isso tem um impacto significativo.



Sintaxe Pandas

Pandas
# Sintaxe Pandas

df[df['Valor_Unitario'] > 199].groupby('Nome_Produto') \
    .filter(lambda x: x['Unidades_Vendidas'].mean() > 10) \
    .groupby('Nome_Produto')['Unidades_Vendidas'].mean()
out:
    Nome_Produto
    Produto_17    14.0
    Produto_39    16.0
    Name: Unidades_Vendidas, dtype: float64

Observando essa sintaxe: PROS:

  • Isso que fazemos com pandas é programação, ou seja, podemos aplicar esse código em um loop, podemos usar variáveis, então, em termos de flexibilidade de programação, o pandas é mais dinâmico.
  • Melhor performance, pois os dados já estarão no ambiente com o pandas!

CONTRAS:

  • A sintaxe do Pandas, é exclusivamente e somente, do pandas! Temos que utilizar a linguagem python, transformar em um DF do pandas para utilizar ela.
  • Linguagem mais complexa exigindo um certo conhecimento de programação.




CONCLUSÃO:

NÃO EXISTE FERRAMENTA PERFEITA! É nosso dever analisar e ver qual é a melhor ferramenta para cada caso em específico, TUDO DEPENDE!!