1
resposta

Boas praticas?

eu fiz o select de uma maneira diferente do mostrado na aula 06 do curso de consultas sql no oracle, referente ao video relatório de vendas por sabor , nao usei inner , join, gostaria de saber se isso é uma má pratica ou só uma forma com menos campos de se fazer a mesma consulta?

SELECT
    venda_sabor.sabor,
    venda_sabor.ano,
    venda_sabor.quatidade_vendida,
    trunc(((venda_sabor.quatidade_vendida/total_venda.quantidade_vendida)*100),2) participacao
    FROM
    (
        SELECT
            tp.sabor,
            to_char(nf.data_venda, 'yyyy') ano,
            SUM(inf.quantidade) quatidade_vendida
        FROM
            tabela_de_produtos    tp,
            itens_notas_fiscais   inf,
            notas_fiscais         nf
        WHERE
            tp.codigo_do_produto = inf.codigo_do_produto
            AND nf.numero = inf.numero
            AND to_char(nf.data_venda, 'yyyy') = '2016'
        GROUP BY
            tp.sabor,
            to_char(nf.data_venda, 'yyyy')
        ORDER BY
            SUM(inf.quantidade) DESC
    ) venda_sabor,
    (
        SELECT
            to_char(nf.data_venda, 'yyyy') ano,
            SUM(inf.quantidade) quantidade_vendida
        FROM
            tabela_de_produtos    tp,
            itens_notas_fiscais   inf,
            notas_fiscais         nf
        WHERE
            tp.codigo_do_produto = inf.codigo_do_produto
            AND nf.numero = inf.numero
            AND to_char(nf.data_venda, 'yyyy') = '2016'
        GROUP BY
            to_char(nf.data_venda, 'yyyy')
        ORDER BY
            SUM(inf.quantidade) DESC
    ) total_venda
WHERE
    venda_sabor.ano = total_venda.ano;
1 resposta

Olá Marcio, tudo bem? Bem, se o resultado foi o esperado tudo bem, não tem problema, até porque antigamente não existia JOINS no SQL, isso foi uma das grandes mudanças que aconteceram na linguagem SQL com o tempo. Sobre sua dúvida, atualmente o ideal é utilizarmos os JOINS, porque facilitam e deixam o código mais legível pra outras pessoas ou equipes que trabalham em conjunto. Assim, também é mais simples e fácil de manter esse código bem como modificá-lo e ou reutilizá-lo.

Espero ter esclarecido sua dúvida!