Data Bases in Open Source Software environments [BDACA]
Work Report
Practice Exercices:
USE brotas;
-- -----------------------------------------------------
-- 1 - identificar o numero de telefone da Maria
-- -----------------------------------------------------
select telefone as '1 - telefone da Maria' from voluntarios where nome like 'maria';
-- -----------------------------------------------------
-- 2 - listar todos os voluntarios com um meail no dominio Circo.pt
-- -----------------------------------------------------
select nome as '2 - palhacos do circo' from voluntarios where email like '%circo.pt';
-- -----------------------------------------------------
-- 3 - contar o numero de competencias do Batatinha
-- -----------------------------------------------------
select count(*) as '3 - nr competencias do Batatinha' from voluntarios inner join comp_voluntarios on comp_voluntarios.id=voluntarios.id where voluntarios.nome='Batatinha';
-- -----------------------------------------------------
-- 4 - listar as disponibilidades do Joao silva
-- -----------------------------------------------------
select diaSemana as '4 - dia', hora_inicio as 'das', hora_fim as 'ate' from disponibilidade natural join voluntarios where voluntarios.nome='Jo„o Silva';
-- -----------------------------------------------------
-- 5 - somar as horas de disponibilidade da maria
-- -----------------------------------------------------
select hour(sum(TIMEDIFF(hora_fim,hora_inicio))) as '5 -horas de voluntaria da Maria' from disponibilidade natural join voluntarios where voluntarios.nome='Maria';
-- -----------------------------------------------------
-- 6 -Listar todos os voluntarios com competencia para contar historias
-- -----------------------------------------------------
select nome as '6 - contadores de historias' from voluntarios where id in (select id from comp_voluntarios inner join competencias on comp_voluntarios.comp_id=competencias.comp_id where competencias.competencia ='contar histÛrias');
-- -----------------------------------------------------
-- 7 -contar os voluntarios indisponiveis ao domingo
-- -----------------------------------------------------
select count(id) as '7 - voluntarios indisponiveis ao domingo' from voluntarios where id not in (select id from disponibilidade where diaSemana = 'Domingo');
-- -----------------------------------------------------
-- 8 -Listar as competencias comuns a mais que um voluntario
-- -----------------------------------------------------
select competencia as '8 - competencias comuns' from competencias where comp_id in (select comp_id from comp_voluntarios group by comp_id having count(comp_id) > 1);
-- -----------------------------------------------------
-- 9 -Listar disponibilidade do voluntario inutil
-- -----------------------------------------------------
select diaSemana as '9 - dias sem voluntarios' from disponibilidade where id not in (select distinct(id) from comp_voluntarios);
by Pedro Brotas