Oi, Priscila, tudo bem?
Desculpe a demora em te responder!
A ordem de execução das operações em uma consulta SQL não é a mesma que a ordem em que escrevemos a consulta. Dessa forma, a ordem em que os comandos são interpretados é a seguinte:
FROM / JOIN
: a tabela é produzida com o uso de JOINs
.WHERE
: as linhas que não satisfazem a condição são descartadas.GROUP BY
: as linhas restantes são agrupadas com base nas colunas listadas.AGGREGATE FUNCTIONS
: as funções de agregação são aplicadas.HAVING
: as linhas que não satisfazem a condição são descartadas.SELECT
: as colunas finais são selecionadas.ORDER BY
: as linhas são ordenadas.LIMIT / OFFSET
: as linhas finais são selecionadas.
Então, no seu caso, a operação INNER JOIN
é realizada antes do SELECT
. Isso significa que, quando o SELECT
é executado, ele está operando na tabela resultante do INNER JOIN
, não apenas na tabela "notas_fiscais A". Portanto, não há erro no seu código, pois o INNER JOIN
já foi realizado quando o SELECT
é executado.
Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!