Questão de Banco de Dados — SQL — CESGRANRIO 2011
Banco de DadosSQL
- Código
- cg039358
- Banca
- CESGRANRIO
- Órgão
- BNDES
- Ano
- 2011
- Nível
- Superior
- Cargo
- Profissional Básico - Análise de Sistemas - Desenvolvimento
As tabelas Projeto, Funcionario e Participacao_Projeto participam da base de dados de um sistema de controle de projetos. A estrutura dessas tabelas é a seguinte:
O comando SQL que retorna o nome somente dos funcionários que participaram de TODOS os projetos é:
O comando SQL que retorna o nome somente dos funcionários que participaram de TODOS os projetos é:- ASELECT DISTINCT F.NOME FROM FUNCIONARIO F INNER JOIN PARTICIPACAO_PROJETO PP ON F.MATRICULA = PP.MATRICULA INNER JOIN PROJETO P ON P.IDPROJETO = PP.IDPROJETO
- BSELECT DISTINCT F.NOME FROM FUNCIONARIO F INNER JOIN PARTICIPACAO_PROJETO PP ON F.MATRICULA = PP.MATRICULA WHERE EXISTS (SELECT 1 FROM PROJETO P WHERE P.IDPROJETO = PP.IDPROJETO)
- CSELECT F.NOME FROM FUNCIONARIO F WHERE MATRICULA IN (SELECT MATRICULA FROM PARTICIPACAO_PROJETO)
- DSELECT F.NOME FROM FUNCIONARIO F WHERE NOT EXISTS (SELECT 1 FROM PROJETO P WHERE NOT EXISTS (SELECT 1 FROM PARTICIPACAO_PROJETO PP WHERE PP.IDPROJETO = P.IDPROJETO AND PP.MATRICULA = F.MATRICULA))
- ESELECT F.NOME FROM FUNCIONARIO F WHERE NOT EXISTS (SELECT 1 FROM PARTICIPACAO_PROJETO PP WHERE PP.MATRICULA = F.MATRICULA AND NOT EXISTS (SELECT 1 FROM PROJETO P WHERE PP.IDPROJETO = P.IDPROJETO))