Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FADESP 2012

Banco de DadosSQL
Código
qg867957
Banca
FADESP
Órgão
MPE-PA
Ano
2012
Nível
Médio
Cargo
Técnico - Analista de Sistemas - Suporte a Banco de Dados
Considere um Banco de Dados formado pelas tabelas a seguir e marque a alternativa correta.Empregado (codemp, salário, função, codd)codemp é chave primáriacodd referencia departamentoDepartamento (codd, cidade, nome)codd é chave primáriaJoga (codemp, codtime, posição)(codemp, codtime) é chave primáriaTime(codtime, nome, endereço)codtime é chave primária
  1. APara obter o nome do time do empregado que tem o maior salário, pode ser executada a seguinte consulta:SELECT nomeFROM timeWHERE codemp IN(SELECT codempFROM empregadoWHERE salario IN(SELECT Max(Salario)FROM empregado)))
  2. BPara mostrar a posição no time e o código dos empregados de maior salário em cada departamento, a seguinte consulta pode ser executada:SELECT posição, codempFROM jogaWHERE codemp IN(SELECT codempFROM empregadoWHERE salario IN(SELECT max(salario)FROM empregadoGROUP BY codd))
  3. CPara mostrar os departamentos com média salarial inferior a R$ 500,00, a seguinte consulta pode ser executada:SELECT coddFROM empregadoWHERE avg(salario) < 500GROUP BY codd
  4. DPara mostrar os códigos dos departamentos que não possuem empregados, a seguinte consulta pode ser executada:SELECT coddFROM departamentoWHERE codd IN (SELECT distinct codd FROM empregado)
Revelar gabarito e comentário

GabaritoB — Para mostrar a posição no time e o código dos empregados de maior salário em cada departamento, a seguinte consulta pode ser executada: SELECT posição, codemp FROM joga WHERE codemp IN (SELECT codemp FROM empregado WHERE salario IN (SELECT max(salario) FROM empregado GROUP BY codd))

Link permanente: /questoes/qg867957