Prática de Consultas SQL: Exercícios Resolvidos
Classified in Training and Employment Advise
Written on in
English with a size of 3.68 KB
Consultas de Seleção e Ordenação de Dados
- Liste todas as informações de uma tabela (no caso DEPARTMENTS):
SELECT * FROM DEPARTMENTS; - Liste todos os empregados que têm um salário entre 10.000 e 20.000 (utilize os métodos BETWEEN e AND):
SELECT * FROM EMPLOYEES WHERE SALARY BETWEEN 10000 AND 20000;SELECT * FROM EMPLOYEES WHERE SALARY > 10000 AND SALARY < 20000; - Liste os números e nomes dos departamentos ordenados por nome do departamento:
SELECT DEPARTMENT_ID, DEPARTMENT_NAME FROM DEPARTMENTS ORDER BY DEPARTMENT_NAME; - Liste todos os tipos diferentes de funções desempenhadas pelos empregados:
SELECT DISTINCT JOB_ID FROM EMPLOYEES; - Liste a informação detalhada dos empregados dos departamentos 10 e 20 por ordem alfabética do nome:
SELECT * FROM EMPLOYEES WHERE DEPARTMENT_ID IN (10, 20) ORDER BY FIRST_NAME; - Liste os nomes e funções de todos os empregados de escritório (SH_CLERK) do departamento 50:
SELECT FIRST_NAME, JOB_ID FROM EMPLOYEES WHERE JOB_ID = 'SH_CLERK' AND DEPARTMENT_ID = 50; - Apresente todos os nomes de empregados que tenham "sh" ou "th":
SELECT FIRST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE '%sh%' OR FIRST_NAME LIKE '%th%';
Cálculos, Condições e Filtros Avançados
- Liste o nome, função e salário para todos os empregados que tenham um chefe (mgr):
SELECT FIRST_NAME, JOB_ID, SALARY FROM EMPLOYEES WHERE MANAGER_ID IS NOT NULL; - Apresente o nome e a remuneração total (14 vezes o salário) mais a comissão para todos os empregados:
SELECT FIRST_NAME, (SALARY * 14) + COMMISSION_PCT AS Remuneracao FROM EMPLOYEES; - Apresente todos os empregados que foram admitidos durante 1997:
SELECT FIRST_NAME, DEPARTMENT_ID, HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE LIKE '%97'; - Liste o nome, salário anual (12 vezes o salário mensal) e comissão para todo o pessoal de vendas (SA_REP) cujo salário mensal for maior que a comissão:
SELECT FIRST_NAME, SALARY * 12 AS Sal_anual, COMMISSION_PCT FROM EMPLOYEES WHERE SALARY > COMMISSION_PCT AND JOB_ID = 'SA_REP';
Funções Agregadas e Agrupamentos
- Encontre o salário mais baixo de todos os empregados:
SELECT MIN(SALARY) FROM EMPLOYEES; - Encontre o salário mais baixo, mais alto e médio de todos os empregados:
SELECT MIN(SALARY), MAX(SALARY), AVG(SALARY) FROM EMPLOYEES; - Determine o salário mais alto e mais baixo de cada tipo de função:
SELECT JOB_ID, MAX(SALARY), MIN(SALARY) FROM EMPLOYEES GROUP BY JOB_ID; - Determine quantos empregados têm a função SA_MAN:
SELECT COUNT(*) FROM EMPLOYEES WHERE JOB_ID = 'SA_MAN'; - Determine o salário médio e a remuneração total média (14 vezes o salário mais a comissão) para cada tipo de função. Não se esqueça que os vendedores ganham comissão:
SELECT JOB_ID, AVG(SALARY), AVG(SALARY * 14 + NVL(COMMISSION_PCT, 0)) FROM EMPLOYEES GROUP BY JOB_ID; - Determine a diferença entre o salário mais alto e mais baixo:
SELECT MAX(SALARY) - MIN(SALARY) FROM EMPLOYEES;