Post on 07-Jul-2018
8/19/2019 Consultas varias
http://slidepdf.com/reader/full/consultas-varias 1/2
CONSULTAS SQL BASICAS
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
8/19/2019 Consultas varias
http://slidepdf.com/reader/full/consultas-varias 2/2
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;