1)MOSTRAR EL APELLIDO Y CODIGO DEPARTAMENTO DE LOS EMPLEADOS PERTENECIENTES A LOS DEPARTAMENTOS 20 o 50 ORDENAR
POR APELLLIDO
SELECT LAST_NAME,DEPARTMENT_ID
FROM hr.EMPLOYEES
WHERE DEPARTMENT_ID
IN(20,50)
ORDER BY LAST_NAME;
2)MOSTRAR EL APELLIDO BAJO EL ALIAS Empleado y sueldo bajo
el alias Salario mensual de los empleados pertenecientes a los departamentos 20
o50 que ganen
entre 5000 y 12000
SELECT LAST_NAME AS"EMPLEADO",SALARY AS"SALARIO
MENSUAL"
FROM HR.EMPLOYEES
WHERE DEPARTMENT_ID
IN(20,50) AND SALARY BETWEEN 5000 AND 12000;
3) MOSTRAR EL APELLIDO Y FECHA DE CONTRATO DELOS EMPLEADOS
CONTRATADOS EL AÑO 1994 o 2004
SELECT LAST_NAME,HIRE_DATE
FROM HR.EMPLOYEES
WHERE TO_CHAR(HIRE_DATE,'YYYY')IN(1994,2004);
4) MOSTRAR EL APELLIDO COD DE OFICIO DE LOS EMPLEADOS SIN
JEFE ASIGNADO
SELECT LAST_NAME,JOB_ID
FROM HR.EMPLOYEES
WHERE MANAGER_ID
IS NULL;
5) MOSTRAR EL APELLIDO, SUELDO Y % COMISION DE LOS
EMPLEADOS QUE COBRAN COMISION. ORDENAR
POR SALARIO Y COMISION, DE FORMA QUE LOS MAS ALTOS SALGAN PRIMERO
SELECT LAST_NAME,SALARY,COMMISSION_PCT
FROM HR.EMPLOYEES
WHERE COMMISSION_PCT
IS NOT NULL
ORDER BY
SALARY,COMMISSION_PCT;
6) MOSTRAR EL APELLLIDO DE LOS EMPLEADOS QUE TENGAN UNA a y UNA e EN EL APELLIDO
SELECT LAST_NAME
FROM HR.EMPLOYEES
WHERE LAST_NAME
LIKE '%a%'AND LAST_NAME LIKE'%e%';
7) MOSTRAR LOS APELLIDOS DE LOS EMPLEADOS REEMPLAZANDO LA LETRA
a POR UN 1
SELECT REPLACE(UPPER(LAST_NAME),'A',1)
FROM HR.EMPLOYEES;
8) MOSTRAR EL APELLIDO FECHA CONTRATO Y DIAS DE LA
SEMANA EN QUE FUERON CONTRATADOS LOS
EMPLEADOS ORDENANDO POR DIA De LA SEMANA, DE FORMA QUE QUEDEN ORDENANDOS POR
LUNES MARTES MIERCOLES JUEVES VIERNES SABADO DOMINGO
SELECT LAST_NAME,HIRE_DATE,TO_CHAR(HIRE_DATE,'DAY') DIA_CONTRATACION
FROM HR.EMPLOYEES
ORDER BY
TO_CHAR(HIRE_DATE,'DAY');
9) MOSTRAR EL APELLIDO Y COMISION DE LOS EMPLEADOS EN EL
CASO DE QUE NO GANE COMISION, MOSTRAR LA FRASE "sin comision"
SELECT LAST_NAME,COMMISSION_PCT,DECODE(COMMISSION_PCT,NULL,'SIN COMISSIONES')AS"COMISION"
FROM HR.EMPLOYEES;
10) MOSTRAR NOMBRE COMPLETO DE LOS TRABAJADORES OFICIO
NOMBRE DEPARTAMENTO Y CIUDAD DE AQUELLOS QUE NOS SON PROGRAMADORES
"programmer"
SELECT CONCAT(FIRST_NAME,LAST_NAME)AS"NOMBRE COMPLETO",JOB_TITLE,DEPARTMENT_NAME,CITY
FROM HR.EMPLOYEES E,HR.JOBS J,HR.DEPARTMENTS D,HR.LOCATIONS L
WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID AND D.LOCATION_ID=L.LOCATION_ID AND E.JOB_ID=J.JOB_ID
AND not(JOB_TITLE LIKE('Programmer'));
11) CALCULAR EL NUMERO DE EMPLEADOS CONTRATADOS POR AÑO Y
MES ORDENAR POR AÑO
SELECT TO_CHAR(HIRE_DATE,'YYYY')AS"AÑO",TO_CHAR(HIRE_DATE,'MONTH')AS"MES",COUNT(EMPLOYEE_ID)AS"TOTAL EMPLEADOS"
FROM HR.EMPLOYEES
GROUP BY
TO_CHAR(HIRE_DATE,'YYYY'),TO_CHAR(HIRE_DATE,'MONTH')
ORDER BY
TO_CHAR(HIRE_DATE,'YYYY'),TO_CHAR(HIRE_DATE,'MONTH');
12) MOSTRAR EL NOMBRE DEL EMPLEADO MAS SU DEPARTAMENTO
SELECT FIRST_NAME,DEPARTMENT_NAME
from HR.EMPLOYEES E,HR.DEPARTMENTS D
WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID;
13) QUE CODIGO DE OFICIO TIENE UN SOLO EMPLEADO
SELECT JOB_ID CODIGO,COUNT(EMPLOYEES.EMPLOYEE_ID) CANTIDAD
FROM HR.EMPLOYEES
GROUP BY
JOB_ID
HAVING COUNT(JOB_ID)=1;
14) MOSTRAR EL NOMBRE Y APELLIDO DE EMPLEADO EL NOMBRE DE
SU DEPARTAMENTO Y SU LOCALIZACION DEL DEPARTAMENTO REALIZARLO A BASE DE JOINS
SELECT FIRST_NAME,LAST_NAME,DEPARTMENT_NAME,CITY
FROM HR.EMPLOYEES E,HR.DEPARTMENTS D,HR.LOCATIONS L
WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID AND
D.LOCATION_ID=L.LOCATION_ID;
SELECT FIRST_NAME,LAST_NAME,DEPARTMENT_NAME,CITY
FROM HR.EMPLOYEES E
JOIN HR.DEPARTMENTS D ON
E.DEPARTMENT_ID=D.DEPARTMENT_ID JOIN HR.LOCATIONS L ON
D.LOCATION_ID=L.LOCATION_ID;
No hay comentarios:
Publicar un comentario