Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quinta-feira, 20 de outubro de 2011

Curso Oracle 11g - Lesson 5 - Programação

--Lesson 5

------------Expressões condicional
--CASE
--Exemplo 1
SELECT last_name, job_id, salary,
       CASE job_id WHEN 'IT_PROG'  THEN  1.10*salary
                   WHEN 'ST_CLERK' THEN  1.15*salary
                   WHEN 'SA_REP'   THEN  1.20*salary
       ELSE      salary
END as Salario_revisado
FROM   employees;

--Exemplo 2
Select last_name, salary, job_id,
  case when salary < 5000 then 'salario baixo'
       when salary < 10000 then 'salario medio'
       when salary < 15000 then 'salario alto'
       Else 'Salario ótimo'
  end As mensagem    
From employees;

--Exemplo 3
Select last_name, salary, job_id,
  case when salary < 5000 then 'salario baixo'
       when job_id = 'IT_PROG' Then 'para função é alto'
       Else 'Salario bom'
  end As mensagem    
From employees;



--DECODE - Faz o mesmo que o CASE
--Exemplo 1
SELECT last_name, job_id, salary,
       DECODE(job_id, 'IT_PROG',  1.10*salary,
                      'ST_CLERK', 1.15*salary,
                      'SA_REP',   1.20*salary,
              salary)
       REVISED_SALARY
FROM   employees;


--Exemplo 2
SELECT last_name, salary,
       DECODE (TRUNC(salary/4000, 0),
                         0, 'baixo',
                         1, 'medio',
                         2, 'acima da média',
                         3, 'salario bom',
                         4, 'salario alto',
                            'excelente') as mensagem
FROM   employees;

-------------Agrupamentos -cap 5

--Função de agrupamento: AVG, COUNT, MIN, MAX, SUM

Select department_id, count(*), max(salary), min(salary), round(avg(salary)), sum(salary)
From employees
group by department_id;


Select department_id, round(avg(salary))
From employees
Group by department_id
Having Round(Avg(salary)) > 8000
order by 1;

Fiquem a vontade para comentar e sugerir melhorias e/ou correção dos exemplos acima.

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...