Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilizando join

select * from tabela_de_clientes tc
join notas_fiscais nf on tc.CPF = nf.CPF
where tc.volume_de_compra > 2000
and year(nf.data_venda) = 2016;

Se eu usar join nesse exercício, daria certo também? Apenas para efeito de conhecimento. acredito que seja até mais fácil (minha opinião)

1 resposta
solução!

Olá, Matheus, tudo bem?

Neste caso, não seria necessário a utilização de um JOIN para obter o resultado desta atividade, Já que foi solicitado os clientes que fizeram mais de 2000 compras em 2016. Então, para obter esse resultado, você precisaria apenas realizar uma contagem das notas fiscais e agrupar pelo CPF, dessa forma:

  SELECT CPF, COUNT(*) FROM notas_fiscais
  WHERE YEAR(DATA_VENDA) = 2016
  GROUP BY CPF
  HAVING COUNT(*) > 2000

Mas caso, você queira retornar também o nome do cliente, você precisaria realizar um JOIN com a tabela de clientes, dessa forma:

SELECT NF.CPF, TC.NOME,COUNT(*)
  FROM tabela_de_clientes tc
  JOIN notas_fiscais nf 
  ON tc.CPF = nf.CPF
  WHERE YEAR(DATA_VENDA) = 2016
  GROUP BY CPF
  HAVING COUNT(*) > 2000

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software