Documente Academic
Documente Profesional
Documente Cultură
----------
OSCAR HUAYLLAS GALINDO
1 Crear una consulta que permita mostrar el apellido y salario de los empleados
que ganan m�s de 12 000 y menos que 23 500
3 Crear una consulta que permita mostrar el apellido y salario de los empleados que
su salario no est� en el rango de 5000 y 12 000
9 Muestre el apellido, salario y las comisiones de todos los empleados que ganan
comisi�n, ord�nelo de forma descendente los 2 campos
10 Muestre el apellido de los empleados que tengan como tercera letra una a.
select e.last_name
from employees e
where instr(e.last_name,'a')=3;
13. Construya una vista llamada sueldo_empleado que permita visualizar el c�digo,
nombre completo concatenado con el alias Nombre_completo a dicha columna, el sueldo
total (incluyendo el porcentaje de su comision), solo para los empleados que tienen
m�s de 5 a�os en la empresa.
create view sueldo_empleado as
select concat(employee_id,concat(first_name, last_name)) as nombre_completo,(salary
+ salary*commission_pct/100) as salario_total from employees
where ceil(months_between(sysdate,employees.hire_date)) > 60;
14. Construya una vista llamada datos_empleado que permita mostrar el c�digo,
nombre completo, correo electr�nico, cargo, nombre del departamento y nombre del
jefe de todos los empleados que fueron contratados en el mes actual.
CREATE view datos_empleado as
select e.employee_id, (e.last_name||' '||e.first_name) as nombre, e.email as
correo, j.job_title as cargo, d.department_name as departamento, (jefe.last_name||'
'||jefe.first_name) as Jefe
from employees e, departments d,jobs j,employees jefe
where e.manager_id=jefe.employee_id and e.department_id = d.department_id and
TO_CHAR(e.hire_date, 'MON') = 'JUN';
select *from datos_empleado;
18. Cree una consulta para mostrar los c�digos de cargo que existen en la tabla
EMPLOYEES.
select e.job_id
from employees e
where e.job_id <>'null';
20 Mostrar los nombres y la primera inicial del apellido para todos los empleados
que trabajan en el c�digo del departamento 100.
SELECT first_name,SUBSTR(last_name,0,1)
FROM employees
WHERE department_id= 100;
21 Mostrar los apellidos y el nombre del mes que fue contratado los empleados del
c�digo del departamento 30. Rotule esta �ltima columna como MES_CONTRATO.
22 Muestre las primeras cinco letras del nombre del departamento en may�sculas para
la tabla departments.
select SUBSTR(UPPER(d.department_name),1,5)
from departments d;
27 Construya una sentencia que te permita obtener los nombre de todos los empleados
y un campo que indique es manager o no es manager
28 Construya una sentencia que te permita obtener los nombres de todos los
empleados que no ganan comisi�n y adem�s no pertenecen al departamento 50 ni 80
SELECT first_name,last_name,department_id FROM employees
where commission_pct is null and department_id<>80 and department_id<>50;
29 Construya una sentencia que te permita obtener los datos completos de todos los
empleados que ganan comisi�n, no son jefes y adem�s tienen m�s de 8 a�os en la
empresa.
32. Escriba una consulta que muestre los apellidos de los empleados con la primera
letra en may�sculas y todas las dem�s en min�sculas, as� como la longitud de los
nombres, para todos los empleados cuyos nombres comienzan por J, A o M. Asigne a
cada columna la etiqueta correspondiente. Ordene los resultados seg�n los apellidos
de los empleados.
select INITCAP(last_name) "Last name", LENGTH(first_name) "Last name length"
from employees
where last_name like 'A%'
or last_name like 'J%'
or last_name like 'M%' order by last_name asc;
33. Para cada empleado, muestre su apellido y calcule el n�mero de meses entre el
d�a de hoy y la fecha de contrataci�n. Etiquete la columna como MONTHS_WORKED.
Ordene los resultados seg�n el n�mero de meses trabajados. Redondee el n�mero de
meses hacia arriba hasta el n�mero entero m�s pr�ximo
36. Cree una consulta que muestre el apellido y las comisiones de los empleados. Si
un empleado no gana comisi�n, ponga �No Commission�. Etiquete la columna COMM.
SELECT LAST_NAME, NVL2(COMMISSION_PCT,TO_CHAR(COMMISSION_PCT), 'No commission')
"COMM" from employees;
37. Utilizando la funci�n DECODE O CASE, escriba una consulta que muestre el grado
de todos los empleados bas�ndose en el valor de la columna JOB_ID, seg�n los datos
siguientes:
Cargo Grado
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
Ninguno de los anteriores 0
SELECT EMPLOYEE_ID CODIGO, LAST_NAME APELLIDO,
DECODE( JOB_ID,'AD_PRES','A','ST_MAN','B','IT_PROG', 'C','SA_REP',
'D','ST_CLERK','E','0')GRADO
FROM EMPLOYEES;