Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CEPUERJ 2021

Banco de DadosSQL
Código
qq627500
Banca
CEPUERJ
Órgão
UERJ
Ano
2021
Nível
Superior
Cargo
CEP - - Analista de Tecnologia da Informação
No quadro a seguir são apresentadas três tabelas, a saber: 1) CLIENTE– armazena informações sobre todos os clientes e também todos os clientes em potencial (clientes que ainda não realizaram pedidos); 2) PRODUTO – armazena informações sobre todos os produtos disponíveis para venda; 3) PEDIDO – armazena informações de todos os pedidos de produtos realizados pelos clientes. As tabelas CLIENTE e PRODUTO possuem um campo código cada, que é a sua chave primária; na tabela PEDIDO, a chave primária é numero; cod_cliente e cod_produto são chaves estrangeiras em PEDIDO, derivadas de codigo (tabela CLIENTE) e codigo (tabela PRODUTO) respectivamente.Imagem associada para resolução da questãoPara gerar a lista Relação de Clientes em Potencial, deve-se realizar a seguinte consulta em SQL:
  1. ASELECT C.* FROM CLIENTE C LEFT OUTER JOIN PEDIDO P ON C.codigo = P.cod_clienteWHERE P.cod_cliente IS NOT NULL ORDER BY C.nome
  2. BSELECT * FROM CLIENTE C WHERE NOT EXISTS(SELECT * FROM PEDIDO P WHERE C.codigo = P.cod_cliente)ORDER BY C.nome ASC;
  3. CSELECT C.codigo, C.nome FROM CLIENTE C JOIN PEDIDO P ON C.codigo = P.cod_clienteWHERE P.cod_produto NOT IN(SELECT cod_produto FROM PRODUTO) ORDER BY C.nome
  4. DSELECT * FROM CLIENTE C WHERE NOT EXISTS(SELECT * FROM PRODUTO P WHERE NOT EXISTS(SELECT * FROM PEDIDO PE WHERE C.codigo = PE.cod_clienteAND P.codigo = PE.cod_produto))ORDER BY C.nome ASC;
Revelar gabarito e comentário

GabaritoB — SELECT * FROM CLIENTE C WHERE NOT EXISTS (SELECT * FROM PEDIDO P WHERE C.codigo = P.cod_cliente) ORDER BY C.nome ASC;

Link permanente: /questoes/qq627500