Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FEPESE 2010

Banco de DadosPL-SQL
Código
qg822532
Banca
FEPESE
Órgão
SEFAZ-SC
Ano
2010
Nível
Superior
Cargo
Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informação
Considere as tabelas Itens (codi, descricao, peso), Fornecedores (codf, nome, cidade) e Fornecimentos (codi, codf, quantidade). As chaves primárias das tabelas Itens, Fornecedores e Fornecimentos são, respectivamente, codi, codf e (codi,codf). Os atributos codi e codf em Fornecimentos são chaves estrangeiras para as tabelas Itens e Fornecedores, respectivamente. A instrução de consulta PL/SQL do Oracle que responde corretamente a consulta "Buscar os nomes dos fornecedores de Florianópolis que fornecem pregos ou parafusos" é:
  1. ASELECT nome FROM Fornecedores WHERE cidade = ‘Florianópolis’ AND codf = ANY (SELECT codf FROM Fornecimentos WHERE codi IN (SELECT codi FROM Itens WHERE descricao = ‘prego’ OR descricao = ‘parafuso’));
  2. BSELECT nome FROM Fornecedores, Fornecimentos, Itens WHERE codi = codi AND codf = codf AND cidade = ‘Florianópolis’ AND descricao = ‘prego’ OR descricao = ‘parafuso’;
  3. CSELECT nome FROM Fornecedores JOIN Fornecimentos ON Fornecedores.codf = Fornecimentos.codf JOIN Itens ON Fornecedores.codi = Itens.codi WHERE descricao = ‘prego’ UNION SELECT nome FROM Fornecedores JOIN Fornecimentos ON Fornecedores.codf = Fornecimentos.codf JOIN Itens ON Fornecedores.codi = Itens.codi WHERE descricao = ‘parafuso’ AND cidade = ‘Florianópolis’
  4. DSELECT f.nome FROM Fornecedores f, Fornecimentos fo, Itens p WHERE f.codi = fo.codi AND p.codf = fo.codf AND cidade = ‘Florianópolis’ AND (descricao = ‘prego’ OR descricao = ‘parafuso’);
  5. ESELECT nome FROM Fornecedores WHERE cidade = ‘Florianópolis’ AND EXISTS (SELECT * FROM Fornecimentos WHERE codi IN (SELECT codi FROM Itens WHERE descricao = ‘prego’ OR descricao = ‘parafuso’));
Revelar gabarito e comentário

GabaritoA — SELECT nome FROM Fornecedores WHERE cidade = ‘Florianópolis’ AND codf = ANY (SELECT codf FROM Fornecimentos WHERE codi IN (SELECT codi FROM Itens WHERE descricao = ‘prego’ OR descricao = ‘parafuso’));

Link permanente: /questoes/qg822532