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