Banco de dadosSql (2)
- (UNIRIO 2009)
Seja um banco de dados contendo: a relação FABRICANTE com um atributo NOME (nome do fabricante) e a chave primária CODF (código do fabricante); a relação PECA com chave primária NUMP (número da peça) e o atributo COR; e a relação PF implementando o relacionamento de fabricação entre fabricantes e peças. Que outra consulta é equivalente à seguinte consulta SQL?
SELECT DISTINCT F.NOME
FROM FABRICANTE F, PF, PECA P
WHERE F.CODF = PF.NUMF
AND P.NUMP = PF.NUMP
AND COR = 'Azul'
A)
SELECT DISTINCT F.NOME
FROM FABRICANTE F
WHERE F.CODF IN
(SELECT PF.NUMF FROM PF
WHERE PF.NUMP IN
(SELECT P.NUMP FROM PECA P
WHERE COR = 'Azul')))
B)
SELECT DISTINCT F.NOME
FROM FABRICANTE F INNER JOIN PF INNER JOIN PECA P
ON F.CODF = PF.NUMF
AND PF.NUMP = P.NUMP
WHERE COR = 'Azul'
C)
SELECT DISTINCT F.NOME, F.CODF, P.NUMP
FROM FABRICANTE F, PF, PECA P
WHERE F.CODF = PF.NUMF
AND PF.NUMP = P.NUMP
AND COR = 'Azul'
D)
SELECT DISTINCT F.NOME
FROM FABRICANTE F
WHERE (SELECT PF.NUMF FROM PF
WHERE (SELECT P.NUMP FROM PECA P
WHERE COR = 'Azul')))
E)
SELECT DISTINCT P.NUMP
FROM FABRICANTE F, PF, PECA P
WHERE PF.NUMP = P.NUMP
AND F.CODF = PF.NUMF
AND COR = 'Azul'
Próximo:
EXERCÍCIOS - Exercício 176
Vamos para o Anterior: Exercício 174
Tente Este: Exercício 361
Primeiro: Exercício 1
VOLTAR ao índice: Banco de dados