Oi, Isabel, tudo bem?
No SQL, a ordem dos comandos é crucial e deve seguir uma sequência específica para que o banco de dados possa interpretar e executar a consulta corretamente. A ordem correta dos comandos, após o SELECT
, é:
FROM
: especifica a tabela de onde os dados serão retirados.WHERE
: aplica filtros antes de agrupar os dados, se necessário.GROUP BY
: agrupa as linhas que têm os mesmos valores em colunas especificadas.HAVING
: aplica filtros após os dados já estarem agrupados.ORDER BY
: ordena o resultado final da consulta.
Portanto, a consulta correta e eficiente que você mencionou e que foi sugerida pelo instrutor é:
SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS QUANTIDADE_VENDAS
FROM ITENS_NOTAS_FISCAIS
GROUP BY CODIGO_DO_PRODUTO
HAVING SUM(QUANTIDADE) > 394000
ORDER BY QUANTIDADE_VENDAS DESC;
Nesta consulta:
- Primeiro, agrupamos os produtos por
CODIGO_DO_PRODUTO
usando GROUP BY
. - Depois, filtramos esses grupos com
HAVING
, onde a soma das quantidades é maior que 394000. - Finalmente, ordenamos os resultados por
QUANTIDADE_VENDAS
em ordem decrescente com ORDER BY
.
Sempre que estiver em dúvida sobre a ordem dos comandos, você pode se referir a esta sequência. Praticar também ajuda a memorizar e entender melhor como cada parte da consulta afeta o resultado.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!