Banco de Dados
ESTUDO DIRIGIDO
Nome: Luana Morais
Turma: 4TINA
Banco de Dados
Prof.: Leonardo De Vitto
São Jose dos campos
2013
1.
Selecione o id do funcionário e a quantidade de contratos por id isso para o número de contratos menor que 5:
select id_func, count(*) as qte_contr from contrato group by id_func having qte_contr < 5;
2. Liste o nome do cliente e o id do funcionário pra todos os funcionários com o nome de Carlos: select c.nome_cli, f.id_func from cliente c, funcionario f, contrato co where c.id_cli = co.id_cli and
f.id_func = co.id_func and
f.nome_func in ('Carlos') ;
3. Liste o nome do cliente, conte a quantidade de contratos, some os valores do contrato, mostre o valor máximo e o mínimo para todos os clientes que moram em Jacarei e São jose dos campos e que a data do contrato esteja entre os meses de fevereiro e março de
2013.
select c.nome_cli,count(*) as qte_contratos, sum(co.valor_cont),max(co.valor_cont),min(co.valor_cont) from contrato co, cliente c where c.id_cli=co.id_cli and
c.cid_cli in ("Jacareí","São José dos Campos" ) and co.dt_cont between "2013-02-01" and "2013-03-31" group by c.nome_cli;
4. Liste o nome do cliente e o id do funcionario para todos os funcionarios com o nome de Carlos: select c.nome_cli, f.id_func from cliente c inner join contrato co on c.id_cli=co.id_cli inner join funcionario f on f.id_func = co.id_func where f.nome_func in ('Carlos') ;
5.
6. Crie uma visão que selecione o nome do cliente, o id do contrato e a data do contrato para todos os clientes com o nome de Samara: create view exec6 as select c.nome_cli, co.id_cont, co.dt_cont from cliente c inner join contrato co on c.id_cli=co.id_cli where c.nome_cli in ('Samara'); select * from exec6;
7.
Criar um procedimento que multiplique dois numeros e mostre os resultados: delimiter $ create procedure exec7(in x integer, in y integer, out r integer) begin declare mensagem varchar(25);