Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução de Atividades - 07 Faça como eu fiz: inserindo os dados com INSERT e SELECT

SQL


CREATE TABLE tabelapedidosgold (
    ID_pedido_gold INTEGER PRIMARY KEY,
    Data_Do_Pedido_gold DATE,
    Status_gold VARCHAR (50),
      Total_Do_Pedido_gold DECIMAL (10, 2),
      Cliente_gold INTEGER,
      Data_De_Envio_Estimado_gold DATE,
      FOREIGN KEY (cliente_gold) REFERENCES tabelaclientes (id_cliente)
  );
  

INSERT INTO tabelapedidosgold (id_pedido_gold, data_do_pedido_gold, status_gold, total_do_pedido_gold, cliente_gold, data_de_envio_estimado_gold) 
SELECT id, data_do_pedido, status, total_do_pedido, cliente, data_de_envio_es FROM tabelapedidos WHERE total_do_pedido >= 400;

SELECT * FROM tabelapedidosgold;
1 resposta

Fala, Victor! Tudo bom?

Agradeço por trazer sua solução para o fórum!

Curti demais como trabalhou a criação de tabela com chave estrangeira para organizar pedidos em SQL, entendeu perfeitamente a importância da cláusula INSERT com SELECT para popular a nova tabela a partir de outra e usou bem o filtro WHERE para selecionar apenas pedidos acima de 400.

Algo que recomendo é ajustar o nome das colunas no SELECT para que correspondam exatamente às da nova tabela, evitando problemas de compatibilidade. Dessa maneira:

INSERT INTO tabelapedidosgold 
(id_pedido_gold, data_do_pedido_gold, status_gold, total_do_pedido_gold, cliente_gold, data_de_envio_estimado_gold)
SELECT id, data_do_pedido, status, total_do_pedido, cliente, data_de_envio_es
FROM tabelapedidos
WHERE total_do_pedido >= 400;

Isso faz com que a inserção seja mais clara e mantenha consistência entre as tabelas.

E algumas boas práticas que você pode adotar são:

  • Generalização: criar índices nas colunas usadas em joins e filtros para melhorar desempenho.
  • Legibilidade: usar nomes de colunas mais padronizados, sem misturar maiúsculas e minúsculas.
  • Integridade: garantir que a tabela tabelaclientes já exista e tenha os IDs corretos antes de criar a relação.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: você prefere evoluir esse exemplo para incluir mais regras de negócio (como status específicos) ou manter apenas o filtro de valor mínimo para praticar consultas básicas?

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

Abraço e bons estudos!

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