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;

Related entries: