1
resposta

CTEs x Subquerys

O Mao na massa análise de Pareto pede uma solução por subquery, mas fornece a solução como CTE, só a título de confirmação, entendo que CTE é diferente de subquery, certo?

A solução via subquery seria algo como
select colunas * from (
select colunas ....
)

1 resposta

Olá, Wallace! Como vai?

Obrigado pela observação e feedback!

Você está correto ao entender que CTEs (Common Table Expressions) e subqueries são conceitos diferentes!

Uma subquery é uma consulta aninhada dentro de outra consulta SQL. Ela é geralmente usada dentro de cláusulas como SELECT, FROM, WHERE... Um exemplo básico de subquery é o que você mencionou:

SELECT colunas
FROM (
    SELECT colunas
    FROM tabela
    WHERE condição
) AS subquery_alias;

Já uma CTE é uma forma de definir uma subquery que pode ser referenciada várias vezes dentro da mesma consulta. As CTEs são definidas usando a cláusula WITH e podem tornar o código mais legível, especialmente quando você precisa usar a mesma subquery em várias partes da consulta. Aqui está um exemplo de CTE:

WITH cte_name AS (
    SELECT colunas
    FROM tabela
    WHERE condição
)
SELECT colunas
FROM cte_name
WHERE outra_condição;

Eu acabei de corrigir a atividade para ser uma uma consulta CTE.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado