top of page

Coffee and Tips Newsletter

Inscreva-se na nossa newsletter semanal

Nos vemos em breve!

Introdução às Common Table Expressions (CTE) em SQL

Foto do escritor: JPJP

Common Table Expressions
Common Table Expressions

Se você trabalha com SQL, provavelmente já se deparou com consultas complexas que envolvem diversas junções e subqueries. Para facilitar a leitura e manutenção dessas consultas, podemos usar Common Table Expressions (CTE).


O que é uma Common Table Expression (CTE)?


Uma CTE é uma espécie de "tabela temporária" criada dentro de uma consulta SQL, que pode ser referenciada múltiplas vezes na mesma consulta. Isso melhora a organização do código e o desempenho da consulta.


A sintaxe básica de uma CTE é:



Exemplo 1: Uso Básico de uma CTE


Vamos supor que temos uma tabela vendas e queremos calcular a receita total por produto.



Neste exemplo, a CTE vendas_por_produto calcula a receita total por produto, e então a consulta principal apenas recupera esses dados.


Exemplo 2: Usando CTE com Junções


Podemos combinar CTEs com JOINs para tornar consultas complexas mais organizadas. Suponha que temos uma tabela clientes e queremos listar os clientes que fizeram compras acima de R$ 5000.



Aqui, a CTE clientes_vips calcula os clientes que gastaram mais de R$ 5000, tornando o SQL mais legível e reutilizável.


Exemplo 3: CTE Recursiva


Uma das grandes vantagens das CTEs é que elas podem ser recursivas, ou seja, podem se referenciar dentro da própria definição. Isso é útil para lidar com hierarquias, como estruturas de árvore.


Vamos considerar uma tabela empregados com um campo supervisor_id, que define a hierarquia dos funcionários dentro de uma empresa.



Resultado do CTE


Neste caso, a CTE hierarquia_empregados encontra a hierarquia da empresa, listando os empregados e seus respectivos níveis na estrutura organizacional.


Exemplo 4: Filtrando Dados em uma CTE


Podemos usar CTEs para filtrar registros antes de processá-los. Suponha que queremos listar apenas as vendas realizadas no ano de 2023 antes de calcular a receita total.


Aqui, filtramos as vendas do ano de 2023 antes de calcular a receita total.


Exemplo 5: CTE com Agregação de Dados


Se quisermos calcular a média de vendas por cliente e, em seguida, filtrar apenas os clientes com uma média superior a R$ 1000, podemos usar:


Isso facilita consultas mais organizadas e performáticas.


Benefícios do Uso de CTEs


  • Melhora a legibilidade do código


  • Facilita a manutenção de consultas complexas


  • Permite reutilização de consultas dentro da mesma query


  • Melhor desempenho em alguns cenários, eliminando a necessidade de tabelas temporárias


  • Ideal para consultas recursivas, como hierarquias de dados


  • Facilidade na segmentação e agregação de dados


Conclusão


As Common Table Expressions são um recurso poderoso do SQL que ajudam a organizar consultas complexas, tornando-as mais eficientes e fáceis de entender. Se você ainda não usa CTEs, experimente incorporá-las nas suas consultas para melhorar a legibilidade e o desempenho!


 

Quer Aprender Mais? Inscreva-se na nossa Newsletter semanal!


Não perca nossas dicas exclusivas de Tech e Data!



Receba semanalmente:

  • Tutoriais práticos e diretos sobre Engenharia de Software e Dados

  • Insights de tecnologia e notícias da semana

Posts recentes

Ver tudo

Bình luận


bottom of page