Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCÍCIOS 3 - Disciplina Banco de Dados 1- As funções de grupo trabalham com várias linhas para produzir resultado? Uma função de agregação processa um conjunto de valores contidos em uma única coluna de uma tabela e retorna um único valor como resultado. 2 - As funções de grupo incluem nulos nos cálculos? Funções de Grupo e Valores Nulos Todas as funções de grupo, com a exceção de COUNT (*), ignoram valores nulos na coluna. 3- A cláusula where restringe as linhas antes da inclusão em um cálculo de grupo? Sim, pois o where funciona como um filtro. 4 - Exiba os salários mais altos, mais baixos, totais é médios de todos os funcionários, Denomine as colunas como Maximo, Minimo, Soma e Media, respectivamente. Arredonde os resultados para o número inteiro mais próximo. SELECT ROUND(MAX(salary),0), ROUND(MIN(salary),0), ROUND(AVG(salary),0),ROUND(SUM(salary)),0 from employees; 5- Modifique a consulta do exercício anterior para que o mesmo exiba o salario mais baixo, mais alto, total e médio para cada tipo de cargo. SELECT job_id, ROUND (SUM(salary),0), ROUND(AVG(salary),0), ROUND(MAX(salary),0), ROUND(MIN(salary),0) FROM employees GROUP BY job_id; 6- Crie uma consulta para exibir o número de pessoas com o mesmo cargo. SELECT job_id, COUNT(job_id) FROM employees GROUP BY job_id; 7- Determine o número de gerentes sem lista-los. Denomine a coluna número de Gerentes. * Use a coluna manager_id para determinar o número de gerentes. SELECT COUNT (DISTINCT manager_id) FROM employees GROUP BY manager_id; 8- Crie um consulta para exibir a diferença entre os maiores e menores salários. Apelide a coluna Diferença. SELECT MAX(salary)-MIN(salary) DIFERENÇA from employees; 9- Exiba o número do gerente e o salario do funcionário com menor pagamento sob supervisão desse gerente. Exclua todos cujo gerente não seja conhecido. Exclua qualquer grupo cujo salario mínimo seja U$$ 6.000 ou menos. Classifique a saída em ordem decrescente de salario. SELECT manager_id, MIN(salary) from employees WHERE manager_id is not null group by manager_id having Min(salary) > 6000 order by MIN(SALARY) desc; 10- Crie uma consulta para exibir o nome, o local e o número de funcionários de cada departamento, além do salário médio de todos os funcionários desse departamento. Denomine as colunas como: Nome, Localizacao, Numero de Pessoas e Salario. Arredonde o salário. 11. Crie uma consulta de matriz para exibir o cargo, o salário relativo a esse cargo com base no número do departamento e o salário total desse cargo, nos departamentos 20,50,80 e 90. Forneça um cabeçalho apropriado a cada coluna. SELECT job_id , SUM(DECODE(department_id, 20, salary)) , SUM(DECODE(department_id, 50, salary)) , SUM(DECODE(department_id, 80, salary)) , SUM(DECODE(department_id, 90, salary)) , SUM(salary) FROM employees GROUP BY job_id;
Compartilhar