Teste SQL e Raciocínio - VAGA ESTÁGIO BCLOUDER JOÃO REIS
TESTE SQL
Gere uma lista contendo nome e sobrenome dos vendedores da cidade de Curitiba
SELECT nome, sobrenome FROM vendedores WHERE cidade ='Curitiba';
Gere uma lista com a quantidade de vendedores em cada cidade
SELECT cidade, COUNT(*) AS quantidade_de_vendedores FROM vendedores GROUP BY cidade;
Gere uma lista com todos os vendedores que tiveram vendas após o 31/12/2023
SELECT DISTINCTv.nome, v.sobrenomeFROM VENDEDORES v
INNER JOIN VENDAS vd ONvd.vendedor_id=v.idWHEREvd.data>'2023-12-31'ANDvd.cancelada='NÃO';
Acrescente na lista gerada no ponto 1 a quantidade de notas fiscais de venda e devolução que tiveram no mês de janeiro de 2024
SELECTv.nome, v.sobrenome, v.cidade,
COUNT(DISTINCT vd.nfVenda) AS quantidade_vendas,
COUNT(DISTINCT vd2.nfDevolucao) AS quantidade_devolucoes,
SUM(vd.valor) -SUM(COALESCE(vd2.valor, 0)) AS resultado_total
FROM VENDEDORES v
LEFT JOIN VENDAS vd ONvd.vendedor_id=v.idANDvd.data BETWEEN '2024-01-01'AND'2024-01-31'LEFT JOIN DEVOLUCOES vd2 ONvd2.vendedor_id=v.idANDvd2.nfDevolucao=vd.nfVendaGROUP BYv.id, v.nome, v.sobrenome, v.cidadeORDER BYv.nome;
Gere uma lista com todos os vendedores da empresa e seu resultado total (vendas - devoluções) e ordene eles do maior para o menor resultado
SELECTv.nome, v.sobrenome,
SUM(vd.valor) -SUM(COALESCE(vd2.valor, 0)) AS resultado_total
FROM VENDEDORES v
LEFT JOIN VENDAS vd ONvd.vendedor_id=v.idLEFT JOIN DEVOLUCOES vd2 ONvd2.vendedor_id=v.idANDvd2.nfDevolucao=vd.nfVendaGROUP BYv.id, v.nome, v.sobrenomeORDER BY resultado_total DESC;
Considerando as informações apresentadas nas três tabelas, considera que existem falhas de integridade nos dados?
Na tabela VENDAS, a venda de ID 5 está marcada como cancelada ("S"), mas não há registro de devolução na tabela DEVOLUCOES.
Na tabela DEVOLUCOES, a devolução de ID 8 possui "vendedor" como valor nulo, o que pode indicar inconsistência na referência à tabela VENDEDORES.