Consultas SQL Essenciais: Empregados e Departamentos
Classified in Arts and Humanities
Written on in
English with a size of 2.94 KB
Departamentos com Mais de Três Empregados
Encontre todos os departamentos que têm mais de três empregados:
select DEPARTMENT_ID, count(*)
from EMPLOYEES
group by DEPARTMENT_ID
having count(*) > 3;Salário Mínimo por Gerente (MGR)
Liste o salário mais baixo entre os empregados de cada gerente (MGR). Exclua os grupos em que o salário mais baixo é inferior a 1000. Ordene o resultado pelo salário:
select MANAGER_ID, min(SALARY)
from EMPLOYEES
group by MANAGER_ID
having min(SALARY) >= 1000
order by min(SALARY);Empregados e Nomes de Departamento (Ordenado)
Liste todos os empregados e respectivos nomes de departamento, por ordem do nome de departamento:
Solução Usando a Sintaxe Tradicional
select e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME
from EMPLOYEES e, DEPARTMENTS d
where e.DEPARTMENT_ID = d.DEPARTMENT_ID
order by d.DEPARTMENT_NAME;Solução Usando a Sintaxe SQL99
select e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME
from EMPLOYEES e
inner join DEPARTMENTS d on (e.DEPARTMENT_ID = d.DEPARTMENT_ID)
order by d.DEPARTMENT_NAME;Nome, Número e Departamento de Empregados
Liste o nome, número e nome de departamento de todos os empregados:
Solução Usando a Sintaxe Tradicional
select e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME
from EMPLOYEES e, DEPARTMENTS d
where e.DEPARTMENT_ID = d.DEPARTMENT_ID;Solução Usando a Sintaxe SQL99
select e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME
from EMPLOYEES e
inner join DEPARTMENTS d on (e.DEPARTMENT_ID = d.DEPARTMENT_ID);Empregados com Salário Acima de 1500
Liste o nome, departamento e localidade do departamento dos empregados cujo salário mensal seja superior a 1500:
Solução Usando a Sintaxe Tradicional
select e.FIRST_NAME, e.DEPARTMENT_ID, d.LOCATION_ID
from EMPLOYEES e, DEPARTMENTS d
where e.DEPARTMENT_ID = d.DEPARTMENT_ID
and e.SALARY > 1500;Solução Usando a Sintaxe SQL99
select e.FIRST_NAME, e.DEPARTMENT_ID, d.LOCATION_ID
from EMPLOYEES e
inner join DEPARTMENTS d on (e.DEPARTMENT_ID = d.DEPARTMENT_ID)
and e.SALARY > 1500;Empregados por Localidade (LOCATION_ID 1400)
Mostre todos os empregados da localidade 1400 (DEPARTMENTS.LOCATION_ID):
Solução Usando a Sintaxe Tradicional
select EMPLOYEES.FIRST_NAME, EMPLOYEES.SALARY, DEPARTMENTS.LOCATION_ID
from EMPLOYEES, DEPARTMENTS
where EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
and DEPARTMENTS.LOCATION_ID = 1400;Solução Usando a Sintaxe SQL99
select EMPLOYEES.FIRST_NAME, EMPLOYEES.SALARY, DEPARTMENTS.LOCATION_ID
from EMPLOYEES
inner join DEPARTMENTS on (EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID)
where DEPARTMENTS.LOCATION_ID = 1400;