FC ConcursosFC Concursos

Questão FC369458

Considere as seguintes tabelas, com suas respectivas colunas, que se relacionam pela coluna FornecedorID: Produto (ProdutoID, ProdutoNome, FornecedorID) Fornecedor (FornecedorID, F

Linguagem SQL

FGV · 2024

Considere as seguintes tabelas, com suas respectivas colunas, que se relacionam pela coluna FornecedorID:

 

Produto (ProdutoID, ProdutoNome, FornecedorID)

Fornecedor (FornecedorID, FornecedorNome)

 

Para retornar a lista, sem repetições, de Fornecedores que possuem Produtos com preços menores que 20, deve-se executar o comando SQL:

  1. SELECT FornecedorNome

      FROM Fornecedor

      WHERE EXISTS (SELECT ProdutoNome FROM Produto

      WHERE Produto.FornecedorID =

      Fornecedor.FornecedorID AND Preco < 20)

  2. SELECT COUNT(FornecedorID), FornecedorNome

       FROM Fornecedor, Produto

       GROUP BY FornecedorID

       HAVING COUNT(Preco) < 20

  3. SELECT FornecedorNome

       FROM Fornecedor

       INNER JOIN Produto ON Produto.FornecedorID =

       Fornecedor.FornecedorID AND Preco < 20

  4. SELECT FornecedorNome FROM Fornecedor

       UNION

       SELECT ProdutoNome FROM Produto

       WHERE Preco < 20)

  5. SELECT FornecedorNome

       FROM Fornecedor

       WHERE FornecedorID = ANY (

       SELECT ProdutoID

       FROM Produto WHERE Preco < 20)

Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A consulta principal seleciona FornecedorNome da tabela Fornecedor e usa uma subconsulta correlacionada com EXISTS para testar se existe pelo menos um produto desse fornecedor com preço menor que 20.

A subconsulta verifica: Produto.FornecedorID = Fornecedor.FornecedorID e Preco < 20. Como a subconsulta é correlacionada, ela é avaliada para cada linha de Fornecedor, retornando TRUE se houver algum registro em Produto que satisfaça as condições.

Importante: EXISTS apenas confirma existência (pode usar SELECT 1), e interrompe na primeira linha encontrada, o que evita repetições do mesmo fornecedor no resultado. Assim, a consulta retorna apenas os fornecedores que possuem pelo menos um produto com preço < 20, sem duplicidades.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo