Exercicios 2
O departamento de RH necessita dos seguintes relatórios:
1. Obtenha o salário máximo, o salário mínimo, a soma dos salários e o salário médio de todos os funcionários. Atribua os labels Maximum, Minimum, Sum e Average, respectivamente, às colunas. Arredonde os resultados para o número inteiro mais próximo.
SELECT ROUND(MAX(salary),0) "Maximum", ROUND(MIN(salary),0) "Minimum", ROUND(SUM(salary),0) "Sum", ROUND(AVG(salary),0) "Average"
FROM employees;
2. Modifique a consulta anterior para exibir o salário mínimo, o salário máximo, a soma dos salários e o salário médio de cada tipo de cargo.
SELECT job_id, ROUND(MAX(salary),0) "Maximum", ROUND(MIN(salary),0) "Minimum", ROUND(SUM(salary),0) "Sum", ROUND(AVG(salary),0) "Average"
FROM employees
GROUP BY job_id;
3. Crie uma consulta para exibir o número de pessoas com o mesmo cargo. Generalize a consulta para que o usuário do departamento de RH seja solicitado a informar um cargo.
SELECT job_id, COUNT(*)
FROM employees
GROUP BY job_id;
SELECT job_id, COUNT(*)
FROM employees
WHERE job_id = '&job_title'
GROUP BY job_id;
4. Determine o número de gerentes sem listá-los. Atribua o label Number of Managers à coluna. Dica: Use a coluna MANAGER_ID para determinar o número de gerentes.
SELECT COUNT(DISTINCT manager_id) "Number of Managers"
FROM employees;
5. Descubra a diferença entre o salário mais alto e o mais baixo. Atribua o label DIFFERENCE à coluna.
SELECT MAX(salary) - MIN(salary) DIFFERENCE
FROM employees;
6. Crie um relatório para exibir o número do gerente e o salário do funcionário com menor remuneração desse gerente. Exclua todas as pessoas cujo gerente seja desconhecido. Exclua todos os grupos em que o salário mínimo seja US$ 6.000 ou inferior. Classifique a saída em ordem decrescente de salário.
SELECT manager_id, MIN(salary)
FROM employees
WHERE manager_id IS NOT NULL
GROUP