Questão FC374551
Se a consulta SQL a seguir for executada sobre tais dados, qual será o resultado?
Linguagem SQL
Instituto Consulplan · 2021
Considere as respectivas tabelas empregado, departamento e projeto de um banco de dados relacional:
| CODIGO |
PNOME |
| 1 | JOSÉ RORAIMA |
| 2 | MARIANA NATAL |
| 3 | LUIZ BAHIA |
| 4 | CARLOS MANAUS |
| 5 | LÚCIO BRASIL |
| ID | DESCRICAO | GERENTE |
| 1 | PESQUISA | 4 |
| 2 | ADMINISTRAÇÃO | 1 |
| 3 | FINANCAS | 5 |
| 4 | TI | 3 |
| SNUM |
PNUMERO | ID_DEPART |
| A | 11 | 1 |
| B | 22 | 2 |
| C | 33 | 3 |
| D | 33 | 3 |
| E | 44 | 4 |
| F | 22 | 1 |
Se a consulta SQL a seguir for executada sobre tais dados, qual será o resultado?
select distinct
PNUMERO
from PROJETO, DEPARTAMENTO, EMPREGADO
where ID_DEPART = ID
and GERENTE = CODIGO
and PNOME like "%MA%"
order by PNUMERO
- 11
22
22
- 11
22
22
33
- 11
- 11
22
33
- 11
22
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A consulta aplica junção cartesiana restrita pelas condições: ID_DEPART = ID e GERENTE = CODIGO, filtrando empregados cujo PNOME satisfaz "%MA%".
Os empregados que contêm "MA" no nome são: códigos 1 (JOSÉ RORAIMA), 2 (MARIANA NATAL) e 4 (CARLOS MANAUS). Os departamentos gerenciados por esses códigos são os de ID = 1 (gerente 4) e ID = 2 (gerente 1).
Ao unir com PROJETO, os projetos com ID_DEPART = 1 têm PNUMERO = 11 e 22; os com ID_DEPART = 2 têm PNUMERO = 22. O operador DISTINCT elimina o duplicado.
Portanto, ordenando por PNUMERO, o resultado é:
11
22
Conteúdo do catálogo FC Concursos · Atualizado em