Pular para o conteúdo principal

Questão de Banco de Dados — Modelo relacional — CESGRANRIO 2013

Banco de DadosModelo relacional
Código
cg000102
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Nível
Superior
Cargo
Profissional Básico - Análise de Sistemas - Suporte
O modelo relacional a seguir representa um banco de dados simplificado de uma empresa de comércio. As chaves estão sublinhadas.CLIENTE(NomeC, EnderecoC)PRODUTO(NomeP)FORNECEDOR(NomeF)PRODUZ(NomeF,NomeP,Preco)PEDIDO(NomeC,NomeF,NomeP,Quantidade)Se o dono da empresa deseja saber quais clientes nunca pediram um produto do fornecedor cujo nome é "Barateira", que consulta SQL deve fazer?
  1. ASELECT * FROM CLIENTE WHERE CLIENTE. NOMEC IN (SELECT NOMEC FROM PEDIDO WHERE NOMEF="Barateira")
  2. BSELECT * FROM CLIENTE WHERE CLIENTE. NOMEC NOT IN (SELECT NOMEC FROM PEDIDO WHERE NOMEF="Barateira")
  3. CSELECT * FROM CLIENTE WHERE CLIENTE. NOMEC=PEDIDO.NOMEC AND CLIENTE.NOMEC NOT IN (SELECT NOMEC FROM PEDIDO WHERE NOMEF="Barateira")
  4. DSELECT * FROM CLIENTE,PEDIDO WHERE CLIENTE.NOMEC=PEDIDO.NOMEC AND CLIENTE. NOMEC IN (SELECT NOMEC FROM PEDIDO WHERE NOMEF="Barateira")
  5. ESELECT * FROM CLIENTE,PEDIDO WHERE CLIENTE. NOMEC=PEDIDO.NOMEC AND NOMEF<>"Barateira"
Revelar gabarito e comentário

GabaritoB — SELECT * FROM CLIENTE WHERE CLIENTE. NOMEC NOT IN (SELECT NOMEC FROM PEDIDO WHERE NOMEF="Barateira")

Link permanente: /questoes/cg000102