Baixe o app para aproveitar ainda mais
Prévia do material em texto
MEC/SETEC - Instituto Federal de Educação, Ciência e Tecnologia. Instituto Federal Minas Gerais – Campus São João Evangelista. Disciplina: Bancos de Dados I Atividade Bancos de Dados SELECTS Parte 1 CodFunc NomeFunc SexoFunc BairroFunc SalFunc SetorFunc 1 Larissa Menezes F Jabaquara 1200 Marketing 2 Selma Nunes F Grajaú 3800 Vendas 3 Leandro Henrique M Socorro 2950 RH 4 Amélia Jeremias F Socorro 4200 Marketing 5 Cláudio Jorge Silva M Jabaquara 1480 Vendas 6 Luciano Souza M Pedreira 1000 Vendas 7 Gabriela Santos Nunes F Jurubatuba 4150 RH 8 Rafaela Vieira Jr F Jabaquara 700 Marketing 9 Suzana Crispim F Grajaú 5600 Produção 10 Sabrina Oliveira Castro F Pedreira 2900 Marketing 11 Jarbas Silva Nunes M Jurubatuba 5300 Produção 12 Ralf Borges M Jabaquara 1600 Marketing Begin -> Baseado na tabela acima, apresente os comandos SQL necessários para CRIAR a referida tabela bem como INSERIR os dados como estão. Use auto_increment para CodFunc. (Já fizemos em sala, só transcrever) Exibir as seguintes informações: As respostas abaixo deverão ser compostas, do comando SQL usado, bem como a resposta retornada; Segue o nº 1 como exemplo: 1 - A soma dos salários de todos os funcionários. select sum(SalFunc) as Folha_Pagamento from funcionarios; Folha_Pagamento 34880.00 2 - O nome do funcionário que mora no Jabaquara e tem o menor salário. select nomefunc as Nome from funcionários where bairrofunc='Jabaquara' and salfunc=(SELECT MIN( salfunc ) FROM funcionários WHERE bairrofunc = 'Jabaquara') 3 - A média do salário de todos os funcionários que moram em Jurubatuba ou no Grajaú, que sejam mulheres e que possuam sobrenome Nunes. SELECT AVG( salfunc ) AS Média_Sálario_Jurubatura FROM funcionários WHERE ( bairrofunc = 'Jurubatuba' OR bairrofunc = 'Grajáu' ) AND sexofunc = 'F' AND nomefunc LIKE '%Nunes%' 4 - A quantidade de funcionários do setor de Marketing. SELECT COUNT( setorfunc ) AS Funcionarios_Trabalha_Marketing FROM funcionários WHERE setorfunc = 'Marketing' 5 - A média dos salários dos funcionários por departamento, ordenado pela média (decrescente) SELECT setorfunc AS Departamento, AVG( salfunc ) AS media FROM funcionários GROUP BY setorfunc ORDER BY media DESC LIMIT 0 , 30 6 - A quantidade de funcionários que ganha menos de R$3.000,00 e que mora no bairro do Socorro. SELECT COUNT( nomefunc ) AS Numero_Funcionario FROM funcionários WHERE salfunc <3000 AND bairrofunc = 'Socorro' 7 - Os setores que possuem mais do que 3 funcionários (mostrar o setor e a quantidade de funcionários). SELECT setorfunc AS Departamento, COUNT( * ) AS Numero_Funcionários FROM funcionários GROUP BY setorfunc HAVING COUNT( nomefunc ) >3 LIMIT 0 , 30 8 - Os bairros que possuem mais do que 2 funcionários que ganhem até R$2.000,00 de salário (mostrar o bairro e a quantidade de funcionários). SELECT bairrofunc AS Bairro, COUNT( nomefunc ) AS Numero_Funcionários FROM funcionários WHERE salfunc <=2000 GROUP BY bairrofunc HAVING COUNT( nomefunc ) >2 LIMIT 0 , 30 Faça um update na funcionaria Larissa Menezes aumento o salario dela para 2200 e repita a consulta. UPDATE funcionários SET salfunc = 2200 where codfunc=1 select nomefunc as Nome,salfunc as Novo_Salário from funcionários where codfunc=1 9 - A soma dos salários dos funcionários agrupada por Bairro (mostrar o bairro e a soma). SELECT bairrofunc AS Bairro, SUM( salfunc ) AS Soma_Salários_Bairro FROM funcionários GROUP BY bairrofunc LIMIT 0 , 30 10 - Os setores que possuem a soma dos salários de seus funcionários maior do que R$1.000,00 e que eles morem no bairro de Pedreira. SELECT setorfunc as Setor FROM funcionários WHERE bairrofunc = 'Pedreira' GROUP BY setorfunc HAVING SUM( salfunc ) >1000 LIMIT 0 , 30 11 - O funcionário cadastrado com o menor salário (mostrar o nome do funcionário, o setor em que trabalha e o valor do salário) SELECT nomefunc as Nome, setorfunc as Setor, salfunc as Salário FROM funcionários GROUP BY salfunc HAVING MIN( salfunc ) LIMIT 0 , 1 12 - O maior salário por bairro (mostrar o bairro e o salário). SELECT bairrofunc AS Bairro, max(salfunc) AS Salário FROM funcionários GROUP BY bairrofunc LIMIT 0 , 30 Código SQL usado pra criar o Banco de Dados utilizado para fazer os exercícios. create database Exercicios create table funcionários ( codfunc int not null auto_increment, nomefunc varchar(100) not null, sexofunc char(1), bairrofunc varchar(100), salfunc decimal(8,2), setorfunc varchar(100), primary key (codfunc)); Insert into funcionários (nomefunc, sexofunc, bairrofunc, salfunc, setorfunc) values ('Larissa Menezes', 'F', 'Jabaguara', 1200, 'Marketing'), ('Selma Nunes', 'F', 'Grajaú', 3800, 'Vendas'), ('Leandro Henrique', 'M', 'Socorro', 2950, 'RH'), ('Amélia Jeremias', 'F', 'Socorro', 4200, 'Marketing'), ('Cláudio Jorge Silva', 'M', 'Jabaquara', 1480, 'Vendas'), ('Luciano Souza', 'M', 'Pedreira', 1000, 'Vendas'), ('Gabriela Santos Nunes', 'F', 'Jurubatuba', 4150, 'RH'), ('Rafaela Vieira Jr', 'F', 'Jabaquara', 700, 'Marketing'), ('Suzana Crispim', 'F', 'Grajaú', 5600, 'Produção'), ('Sabrina Oliveira Castro', 'F', 'Pedreira', 2900, 'Marketing'), ('Jarbas Silva Nunes', 'M', 'Jurubatuba', 5300, 'Produção'), ('ralf borges', 'm', 'jabaquara', 1600, 'marketing'); _1295326335.doc
Compartilhar