Questão FC369457
Considere o seguinte script SQL de um banco de dados relacional: create table fornecedor ( id integer primary key, nome varchar(30) not null ); create table produto ( id integer pr
Linguagem SQL
FGV · 2024
Considere o seguinte script SQL de um banco de dados relacional:
create table fornecedor
( id integer primary key,
nome varchar(30) not null );
create table produto
( id integer primary key,
descricao varchar(40) not null );
create table fornecimento
( id_fornecedor integer references fornecedor,
id_produto integer references produto,
primary key(id_fornecedor,id_produto) );
Assinale a consulta que imprime a descrição dos produtos que não são fornecidos por nenhum fornecedor
- select produto.descricao from produto join
fornecimento on produto.id !=
fornecimento.id_produto
- select produto.descricao from produto join
fornecimento
on produto.id = fornecimento.id_produto where id_fornecedor > all
(select id from fornecedor)
- select produto.descricao from produto join
fornecimento on produto.id =
fornecimento.id_produto
- select produto.descricao from produto left join
fornecimento on produto.id =
fornecimento.id_produto where
fornecimento.id_fornecedor is null
- select produto.descricao from produto right join
fornecimento on produto.id =
fornecimento.id_produto join fornecedor on
fornecedor.id = fornecimento.id_fornecedor
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A consulta usa LEFT JOIN entre produto (tabela à esquerda) e fornecimento (à direita) com a condição produto.id = fornecimento.id_produto. O LEFT JOIN retorna todas as linhas de produto, combinando‑as com linhas de fornecimento quando houver correspondência.
Quando não existe correspondência, os campos da tabela fornecimento ficam com valor NULL. Assim, a cláusula WHERE fornecimento.id_fornecedor IS NULL filtra exatamente os produtos que não aparecem em nenhuma linha de fornecimento — ou seja, não são fornecidos por nenhum fornecedor.
O SELECT então projeta produto.descricao, retornando apenas as descrições desses produtos sem fornecedor.
Conteúdo do catálogo FC Concursos · Atualizado em