SóProvas


ID
770359
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, para se listarem os nomes dos departamentos da tabela departamento que não possuem colaboradores, é correto utilizar o código abaixo

SELECT nomedepartamento
FROM departamento d
EXCEPT
(SELECT nomedepartamento
FROM departamento d, colaborador c
WHERE d.codigodepartamento = c.codigodepartamento);

Alternativas
Comentários
  • Nessa questão foi utilizada o comando EXCEPT, esse comando, juntamente com os comandos UNION e INTERSECT são utilizado em operações entre conjunto de dados selecionados, funciona da mesma forma como trabalhamos com conjuntos na matemática. No caso em questão EXCEPT significa: um conjunto exceto o outro, seria como dizer - o conjunto A tirando o conjunto B. No item, o comando selecionou todos os departamentos e retirou os que tinham colaboradores, restando apenas os que não tinham colaboradores, tornando o item correto.
    Abraços, vamo que vamo.
  • CERTO
    A clausula EXCEPT pode ser entendida como a diferença entre dois conjuntos, logo a a consulta

    SELECT nomedepartamento
    FROM departamento d, colaborador c
    WHERE d.codigodepartamento = c.codigodepartamento

    retornaria todos os departamentos que possuíssem algum colaborador. Já a primeira consulta

    SELECT nomedepartamento
    FROM departamento d

    retornaria todos os departamentos existentes na tabela. Com isso, fazendo a diferença entre as a primeira e a segunda consulta se chegaria aos departamentos que não possuem colaboradores