1
resposta

Minha Resolução do Exercício Calculo do Imposto 2016

SELECT FLOOR(SUM(IT.QUANTIDADE * IT.PRECO * NF.IMPOSTO)) AS IMPOSTO_TOTAL_2016
    FROM NOTAS_FISCAIS NF
        INNER JOIN ITENS_NOTAS_FISCAIS IT   ON NF.NUMERO = IT.NUMERO
        WHERE NF.DATA_VENDA >= TO_DATE('2016-01-01', 'YYYY-MM-DD') 
    AND NF.DATA_VENDA <= TO_DATE('2016-12-31', 'YYYY-MM-DD')
;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Marcos! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções de agregação para calcular valores, utilizou muito bem o INNER JOIN para relacionar tabelas e ainda compreendeu a importância de aplicar filtros de data para restringir o período da consulta.

Uma dica interessante para o futuro é usar BETWEEN para simplificar a condição de intervalo de datas. Assim:

SELECT FLOOR(SUM(IT.QUANTIDADE * IT.PRECO * NF.IMPOSTO)) AS IMPOSTO_TOTAL_2016
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS IT ON NF.NUMERO = IT.NUMERO
WHERE NF.DATA_VENDA BETWEEN TO_DATE('2016-01-01', 'YYYY-MM-DD') 
                        AND TO_DATE('2016-12-31', 'YYYY-MM-DD');

Isso faz o código ficar mais limpo e direto.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!