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.