Professional Documents
Culture Documents
DESCRIBE departments
SELECT *
FROM departments;
2.
DESCRIBE employees
3.
O departamento de recursos humanos deseja executar uma consulta para exibir o sobrenome, o cdigo do
cargo, a data de admisso e o telefone de cada funcionrio, com o nmero do funcionrio exibido primeiro. Fornea o
apelido STARTDATE para a coluna HIRE_DATE.
SELECT employee_id, last_name, job_id, hire_date AS StartDate, phone_integer
FROM employees;
4.
O departamento de recursos humanos precisa de uma consulta para exibir todos os cdigos de cargo
exclusivos da tabela EMPLOYEES.
SELECT DISTINCT job_id
FROM employees;
3.
O departamento de recursos humanos precisa localizar funcionrios com altos e baixos salrios. Crie uma
query para exibir o sobrenome e o salrio de todos os funcionrios cuja faixa salarial no esteja entre US$ 5.000 e US$
12.000.
SELECT last_name, salary
FROM employees
WHERE salary NOT BETWEEN 5000 AND 12000;
4.
Crie um relatrio para exibir o sobrenome, o ID do cargo e a data de admisso dos funcionrios cujos
sobrenomes sejam Matos e Taylor. Organize a consulta em ordem crescente por data de admisso.
SELECT last_name, job_id, hire_date
FROM
employees
employees
employees
7.
O departamento de recursos humanos precisa de um relatrio que exiba o sobrenome e a data de admisso
de todos os funcionrios admitidos em 1994.
SELECT last_name, hire_date
FROM
employees
Crie um relatrio que exiba o sobrenome e o cargo de todos os funcionrios no subordinados a um gerente.
employees
9.
Crie um relatrio para exibir o sobrenome, o salrio e a comisso de todos os funcionrios que ganham
comisso. Classifique os dados em ordem decrescente de salrio e comisses.
SELECT last_name, salary, commission_pct
FROM
employees
Exiba todos os sobrenomes dos funcionrios cuja terceira letra do nome seja a.
SELECT last_name
FROM
employees
SELECT last_name
FROM
employees
14.
Exiba o sobrenome, o cargo e o salrio de todos os funcionrios cujo cargo seja representante de
vendas(SA_REP) ou estoquista (ST_CLERK) e cujo salrio seja diferente de US$ 2.500, US$ 3.500 ou US$ 7.000.
SELECT last_name, job_id, salary
FROM
employees
15.
Construa uma query para exibir o sobrenome, o salrio e a comisso de todos os funcionrios cuja comisso
seja de 20%.
SELECT last_name , salary , commission_pct
FROM
employees
4.
Crie uma consulta que exiba o sobrenome e o tamanho do sobrenome de todos os funcionrios cujos nomes
comecem com a letra J, A ou M. Atribua um label apropriado a cada coluna. Classifique os resultados pelos
sobrenomes dos funcionrios.
SELECT last_name "Name",
LENGTH(last_name) "Length"
FROM employees
WHERE last_name LIKE 'J%'
OR
OR
ORDER BY last_name ;
5.
Recrie a consulta anterior para que o usurio seja solicitado a informar a letra inicial do sobrenome. Por
exemplo, se o usurio informar H quando uma letra for solicitada, a sada dever mostrar todos os funcionrios cujos
sobrenomes comeam com a letra H.
SELECT last_name "Name",
LENGTH(last_name) "Length"
FROM employees
WHERE last_name LIKE '&start_letter%'
ORDER BY last_name;
6.
O departamento de recursos humanos deseja saber qual o tempo de emprego de cada funcionrio. Para
cada funcionrio, exiba o sobrenome e calcule o nmero de meses entre hoje e a data de admisso do funcionrio.
Atribua o label MONTHS_WORKED coluna. Ordene os resultados pelo nmero de meses em que o funcionrio est
empregado. Arredonde o nmero de meses para o nmero inteiro mais prximo.
SELECT last_name, ROUND(datediff (curdate(), hire_date)/30,0) as MONTHS_WORKED
FROM employees
ORDER BY MONTHS_WORKED;
7.
Crie um relatrio que produza estas informaes somente para os funcionrios com salrios entre 2000 e
4000:
<sobrenome do funcionrio> recebe <salrio> mensalmente, mas deseja <3 vezes o salrio>.
Atribua o label Dream Salaries coluna.
SELECT CONCAT(last_name, recebe ,salary,mensalmente, mas deseja ,salary*3,.)
as Dream Salaries
FROM employees WHERE salary BETWEEN 2000 and 4000;
8.
Crie uma consulta que exiba o sobrenome e o salrio de todos os funcionrios. Formate o salrio para definilo com um tamanho de 15 caracteres e preench-lo esquerda com o smbolo $. Atribua o label SALARY coluna.
SELECT last_name, LPAD(salary, 15, '$') SALARY FROM employees;
9.
Exiba o sobrenome, a data de admisso e a data do fim da experincia (90 dias aps a contratao) de todos
os funcionrios cuja funo seja REPRESENTANTE DE VENDAS (SA_REP). Atribua os labels data de contratacao e fim
da experincia s respectivas colunas. Formate as datas para que sejam exibidas no formato "2000-july-23th.
SELECT last_name,date_format(hire_date,'%Y-%M-%D') as 'data de contratacao',
date_format(hire_date+90, '%Y-%M-%D') as 'fim da experiencia'
FROM employees WHERE job_id='SA_REP';
OBS: Funo DATE_ADD : Soma corretamente um certo nmero de dias a uma data.
DATE_ADD(<data>, INTERVAL <nmero> DAY);
SELECT last_name,date_format(hire_date,'%Y-%M-%D') as 'data de contratacao',
date_format(date_add(hire_date,interval 90 day),'%Y-%M-%D') as 'fim da experiencia'
FROM employees WHERE job_id='SA_REP';
10.
Crie uma consulta que exiba os sobrenomes e as comisses dos funcionrios. Se um funcionrio no ganhar
comisso, a informao "No Commission" dever ser exibida. Atribua o label COMM coluna.
SELECT last_name, COALESCE(commission_pct, 'No Commission') COMM FROM employees;
11.
Com a function CASE, crie uma consulta que exiba o nvel de todos os funcionrios com base no valor da
coluna JOB_ID. Use estes dados:
Cargo
Nvel
AD_PRES
ST_MAN
IT_PROG
SA_REP
ST_CLERK
FROM employees;
EXTRAS
1. Para fins oramentarios, o RH precisa de um relatrio sobre os aumentos salariais projetados. O relatrio deve
exibir os funcionrios que no ganham comisso, mas tero um aumento salarial de 10% (arredonde os salrios
para o formato monetrio)
FORMATO:
O salrio de <funcionrio> depois de um aumento de 10% <salrio com aumento>.
2. Crie um relatrio contendo os funcionrios , os salrios e os respectivos tempos de emprega (em anos). Ordene
o relatrio pelo tempo de emprego dos funcionrios. O funcionrio empregado a mais tempo deve estar no
incio da lista.
3. Exiba os funcionrios cujos sobrenomes comeam com a letra J,K ,L ou M (OBRIGATORIAMENTE UTILIZANDO A
FUNO IN). Ordenar pelo sobrenome.
4. Crie um relatrio que exiba os seguintes dados dos funcionrios:
-
Cargo
Salrio
Participao nos lucros da empresa em funo do tempo de casa, mediante o seguinte critrio:
At 13 anos de casa: 20% do salrio
At 14 anos de casa: 25% do salrio
At 15 anos de casa: 30% do salrio
At 16 anos de casa: 40% do salrio
Mais que 16 anos de casa: 50% do salrio
RESPOSTAS
1
Select
concat('O salrio de ',last_name,' depois de um aumento de 10% ',round(salary*1.10,2)) as 'NOVO SALARIO'
from employees
where commission_pct is null;
2
Select
last_name, salary, round(datediff(curdate(),hire_date)/365,0) as years
from employees
order by years desc ;
3
Select last_name from employees
where
lower(last_name) like 'j%' or
lower(last_name) like 'k%' or
lower(last_name) like 'l%' or
lower(last_name) like 'm%'
order by last_name;
OU
Select last_name from employees
where
substr(last_name,1,1) in ('J','K','L','M')
order by last_name
4select
upper (concat (first_name,' ',last_name)) as funcionario,
job_id as cargo,
salary as salario,
date_format(hire_date,'%d/%M/%Y') as admissao,
round(datediff(curdate(),hire_date)/365,0) as tempo_de_casa,
case when round(datediff(curdate(),hire_date)/365,0) < 13 then salary*0.20
when round(datediff(curdate(),hire_date)/365,0) < 14 then salary*0.25
when round(datediff(curdate(),hire_date)/365,0) < 15 then salary*0.30
when round(datediff(curdate(),hire_date)/365,0) < 16 then salary*0.40
else salary*0.50
end
as Gratificacao,
case when lower(job_id) in('ad_pres','ad_vp') then 'ALTA GESTAO'
when lower(job_id) in('ac_mgr','sa_man','st_man','mk_man') then 'GESTAO OPERACIONAL'
when lower(job_id) in('sa_rep','mk_rep') then 'NEGOCIOS'
else 'APOIO'
end
as Escalao
FROM employees
where
year(hire_date) between 1990 and 1997
order by
tempo_de_casa desc, salary ;