Olá, mais uma dúvida.
Nessa aula, a seguinte consulta foi criada (copiada da transcrição da aula):
WITH Media_Vendas_Anteriores AS (SELECT AVG(Qtd_Vendas) AS Media_Qtd_Vendas
FROM (
SELECT COUNT(*) AS Qtd_Vendas, strftime("%Y", v.data_venda) AS Ano
FROM vendas v
WHERE strftime("%m", v.data_venda) = "11" AND Ano != "2022"
GROUP BY Ano
)), Vendas_Atual AS (SELECT Qtd_Vendas AS Qtd_Vendas_Atual
FROM(
SELECT COUNT(*) AS Qtd_Vendas, strftime("%Y", v.data_venda) AS Ano
FROM vendas v
WHERE strftime("%m", v.data_venda) = "11" AND Ano = "2022"
GROUP BY Ano
))
SELECT
mva.Media_Qtd_Vendas,
va.Qtd_Vendas_Atual,
ROUND((va.Qtd_Vendas_Atual - mva.Media_Qtd_Vendas)/mva.Media_Qtd_Vendas *100.0, 2) || "%" AS Porcentagem
FROM Vendas_Atual va, Media_Vendas_Anteriores mva
Na cláusula FROM estão sendo passadas as duas "tabelas" criadas com a cláusula WITH.
FROM Vendas_Atual va, Media_Vendas_Anteriores mva
Por favor, gostaria de entender por que isso está funcionando. Em aulas e cursos anteriores foi ensinado que para combinar tabelas deveria ser usado o JOIN, mas nesse caso simplesmente foram passadas as duas "tabelas" para o FROM e aparentemente funcionou.
Obrigado.