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

[Projeto] Mão na massa: encontrando clientes sem pedidos

Seu desafio é criar uma consulta SQL que retorne o nome dos clientes que ainda não fizeram pedidos em sua loja.

Criar tabela "Clientes" e tabela "Pedidos":

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

Inserir dados nas tabelas:

https://sqliteonline.com/#sqltext=%23url-sqlite%3Ddb-sqlite%0D%0A%23tab-name%3DSQLite.1%0D%0AINSERT%20INTO%20Clientes%20(%0A%20%20ID_Clientes%2C%20%0A%20%20nome_clientes%2C%0A%20%20idade_clientes%2C%20%0A%20%20email_clientes)%0AVALUES%0A(0%2C%20'Jo%C3%A3o%20Silva'%2C%2028%2C%20'joao.silva%40email.com')%2C%0A(1%2C%20'Maria%20Oliveira'%2C%2034%2C%20'maria.oliveira%40email.com')%2C%0A(2%2C%20'Carlos%20Souza'%2C%2040%2C%20'carlos.souza%40email.com')%2C%0A(3%2C%20'Ana%20Pereira'%2C%2022%2C%20'ana.pereira%40email.com')%2C%0A(4%2C%20'Lu%C3%ADs%20Santos'%2C%2056%2C%20'luis.santos%40email.com')%2C%0A(5%2C%20'Beatriz%20Costa'%2C%2019%2C%20'beatriz.costa%40email.com')%2C%0A(6%2C%20'Felipe%20Rocha'%2C%2029%2C%20'felipe.rocha%40email.com')%2C%0A(7%2C%20'Juliana%20Martins'%2C%2025%2C%20'juliana.martins%40email.com')%2C%0A(8%2C%20'Roberto%20Almeida'%2C%2048%2C%20'roberto.almeida%40email.com')%2C%0A(9%2C%20'Fernanda%20Lima'%2C%2035%2C%20'fernanda.lima%40email.com')%2C%0A(10%2C%20'Rafael%20Gomes'%2C%2033%2C%20'rafael.gomes%40email.com')%3B%0A%20%20%20%20%0ASELECT%20*%20FROM%20Clientes%3B%0A%0AINSERT%20INTO%20Pedidos%20(%0A%20%20ID_Pedidos%2C%20%0A%20%20ID_Cliente%2C%20%0A%20%20quantidade_pedido%2C%20%0A%20%20data_pedido)%0AVALUES%0A(0%2C%20NULL%2C%20NULL%2C%20NULL)%2C%0A(1%2C%201%2C%2040%2C%20'2022-06-25')%2C%0A(2%2C%202%2C%2018%2C%20'2023-01-10')%2C%0A(3%2C%203%2C%2032%2C%20'2023-07-05')%2C%0A(4%2C%204%2C%2050%2C%20'2023-09-18')%2C%0A(5%2C%20NULL%2C%20NULL%2C%20NULL)%2C%0A(6%2C%206%2C%2022%2C%20'2023-02-20')%2C%0A(7%2C%207%2C%2036%2C%20'2022-11-11')%2C%0A(8%2C%20NULL%2C%20NULL%2C%20NULL)%2C%0A(9%2C%209%2C%2014%2C%20'2023-05-30')%2C%0A(10%2C%20NULL%2C%20NULL%2C%20NULL)%3B%0A%0ASELECT%20*%20FROM%20Pedidos%3B%0A%0A

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

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

*Retornar o nome dos clientes que não fizeram pedidos: ** https://sqliteonline.com/#sqltext=%23url-sqlite%3Ddb-sqlite%0D%0A%23tab-name%3DSQLite.2%0D%0ASELECT%20%20FROM%20Pedidos%20p%0ARIGHT%20JOIN%20Clientes%20c%0AON%20c.ID_Clientes%20%3D%20p.ID_Cliente%0AWHERE%20p.ID_Cliente%20IS%20NULL%3B%0A%0ASELECT%20c.nome_clientes%20FROM%20Pedidos%20p%0ARIGHT%20JOIN%20clientes%20c%0AON%20c.ID_Clientes%20%3D%20p.ID_Cliente%0AWHERE%20p.ID_Cliente%20IS%20NULL%3B

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

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

1 resposta
solução!

Oi, Amanda! Como vai?

Gostei de como você estruturou as tabelas e tentou usar a junção para resolver o desafio. O uso do RIGHT JOIN foi uma boa escolha, já que ele permite identificar clientes que não têm correspondência na tabela de pedidos.

Continue se dedicando, praticando e caso tenha dúvidas, conte conosco aqui no fórum.

Bons estudos!