Exerc Cios SQL Resolvidos
Exercícios SQL
Prof. Dr. Reinaldo Lourenso rlourenso@ifsp.edu.br 1
Tabelas
DEPARTAMENTO(cod_depto, nome)
EMP_PROJ(cod_emp, cod_proj)
EMPREGADO(cod_emp,
sobrenome, idade, salario, cod_depto) PROJETO(cod_proj, data_fim, duracao)
nome,
nome, cidade, data_ini,
1-Encontrar o nome do projeto de menor duração
SELECT nome, duracao
FROM Projeto where duracao
=
MIN(duracao) from Projeto);
(select
2 - Encontrar os nomes dos empregados que possuem a mesma idade que Michele Garcia (fazer com subconsulta e sem subconsulta) select nome from Empregado where idade = (select idade from Empregado where nome = 'Michele' and sobrenome =
'Garcia');
select E1.nome from Empregado E1, Empregado E2 where E1.idade = E2.idade and E2.nome
= 'Michele'
3 - Listar os nomes dos empregados e os nomes dos projetos nos quais eles participam select
E.nome, P.nome from
Empregado
E,
Projeto
P,
Emp_Proj Ep where E.cod_emp = Ep.cod_emp and P.cod_proj = Ep.cod_proj;
4 - Listar os nomes dos empregados que participam em todos os projetos (1)
select nome from Empregado where cod_emp in (select cod_emp from emp_proj group by cod_emp having COUNT(*)
= (select
COUNT(*) from Projeto));
4 - Listar os nomes dos empregados que participam em todos os projetos (2)
select nome from Empregado where cod_emp in (select cod_emp from emp_proj group by cod_emp having COUNT(*)
= (select
COUNT (distinct(cod_proj)) from
4 - Listar os nomes dos empregados que participam em todos os projetos (3) select distinct (E.nome) from Empregado E, emp_proj EP,
Projeto P where E.cod_emp = EP.cod_emp and EP.cod_proj = P.cod_proj and ((select count(*) from Projeto) = (select count(*) from emp_proj where cod_emp = EP.cod_emp));
5 - Aumentar o salário em 15% de todos aqueles empregados que participam pelo menos em 2 projetos select nome, salario * 1.15 as NewSal from Empregado where cod_emp in (select cod_emp from emp_proj group by cod_emp having COUNT(*) >= 2);
6 - Recuperar os nomes dos