Está en la página 1de 6

Universidad autnoma de chihuahua

Facultad de ingeniera
Ing. Software
Base de datos
Funciones II
Jos Sal Delira
Edwin Gabriel Domnguez Aguirre
257144

1) Obtener el nombre completo (first_name, last_name) y la longitud en


caracteres de los nombres de los empleados (nombre_empleado,
no_caracteres)
select concat(concat(first_name,' '), last_name)
as "Nombre completo",
length( concat(concat(first_name, ' '),last_name))
as "Tamao del nombre"
from employees;

2) Obtener el first_name ,last_name y email de los empleados, teniendo en


cuenta que el dominio de la compaa. es @system.com
select first_name, concat(email,'@system.com')
as "email"
from employees;

3) Obtener el nombre completo de los empleados (first_name, last_name) y


el ao de ingreso a la ca
select concat(concat(first_name, ' '), last_name )
as "Nombre Completo", hire_date
from employees;

4) Obtener el department_name y la cantidad de empleados de los


departemntos ,para aquellos departamentos que tienen un nmero par
de empleados

select department_id, count(*) as Num_emp


from employees join departments using(department_id)
where department_id is not null
having mod(count(*),2)=0
group by department_id;

5) Obtener el first_name, last_name y la fecha de ingreso de los empleados


que ingresaron en el perodo de 1990 a 1994
select first_name, last_name, EXTRACT(YEAR FROM hire_date)
from employees
where EXTRACT(YEAR FROM hire_date)
between 1990 and 1994;

6) Obtener el first_name, last_name y los aos de antigedad de los


empleados del departamento SALES
select first_name, last_name, EXTRACT(YEAR FROM current_date)EXTRACT(YEAR FROM hire_date)
as "Antiguedad"
from employees
where department_id= (select department_id
from departments
where upper(department_name)='SALES')
order by hire_date;

7) Obtener el no. de das transcurridos en el presente ao


select distinct EXTRACT(day from current_date)
+extract(month from current_date)*30
as "Dias transcurridos"
from employees;

8) Obtener el first_name, last_name y salary de los empleados, as como una


leyenda que indique el nivel de ingreso del empleado, con base en el siguiente
criterio:
a.Salary < 8000 Ingreso Bajo
b.Salary < 11000 Ingreso Medio
c.Salary >= 11000 Ingreso Alto

select first_name, last_name,


case when salary < 8000 then 'Ingreso bajo' when salary < 11000 then 'Ingreso
medio' when salary >= 11000
then 'Ingreso alto' else 'No existe' end as "Rango del sueldo"
from employees
order by salary;

9) Obtener el first_name, last_name y la fecha de ingreso de los


empleados, la fecha Deber presentarse en formato
DD/MMM/AAAA
select first_name,last_name,concat(concat(extract(day from hire_date),'/'),
concat(concat(extract(month from hire_date),'/'), extract(year from hire_date)))
as "Fecha de inicio"
from employees;

10)
Obtener un histograma que muestre el no. de movimientos de personal por
departamento (un * por cada movimiento)
Ejemplo:
a.SALES **
b.IT ***
c.Marketing ****

select department_name,
replace (count(*),count(*),
case when count(*)= 1 then '*'
when count(*)= 2 then '**'
end) as MOV
from DEPARTMENTS join JOB_HISTORY using (DEPARTMENT_ID)
group by DEPARTMENT_NAME;

También podría gustarte