Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * PREPARACIÓN PRUEBA TALLER DE BASES DE DATOS CONSULTAS SQL EN ESQUEMA HR
- */
- /* 1. ESCRIBA UNA CONSULTA QUE DESPLIEGUE LA FECHA ACTUAL. ROTULE LA COLUMNA FECHA_HOY. */
- SELECT SYSDATE "Fecha_Hoy"
- FROM DUAL
- /* 2. DETERMINE LA ESTRUCTURA DE TODAS LAS TABLAS DE LA BASE DE DATOS. */
- DESCRIBE NOMBRE_TABLA
- /* 3. DETERMINE LA ESTRUCTURA DE TODAS LAS TABLAS DE LA BASE DE DATOS HR. */
- DESCRIBE REGIONS
- DESCRIBE COUNTRIES
- DESCRIBE LOCATIONS
- DESCRIBE DEPARTMENTS
- DESCRIBE JOBS
- DESCRIBE EMPLOYEES
- DESCRIBE JOB_HISTORY
- /* 4. DESPLIEGUE EL NOMBRE, APELLIDO Y SUELDO DE LOS EMPLEADOS. */
- SELECT FIRST_NAME, LAST_NAME, SALARY
- FROM EMPLOYEES
- /* 5. DESPLIEGUE EL APELLIDO Y EL SUELDO DE LOS EMPLEADOS QUE HAN GANADO MÁS DE $12,000. */
- SELECT LAST_NAME, SALARY
- FROM EMPLOYEES
- WHERE SALARY > 12000
- /* 6. DESPLIEGUE EL APELLIDO Y EL CÓDIGO DE DEPARTAMENTO DEL EMPLEADO 176. */
- SELECT LAST_NAME, DEPARTMENT_ID
- FROM EMPLOYEES
- WHERE EMPLOYEE_ID = 176
- /* 7. DESPLIEGUE EL APELLIDO Y SUELDO DE TODOS LOS EMPLEADOS CUYOS SUELDOS NO ESTÉN EN EL RANGO $5,000 Y $12,000 */
- /*SQL Standard*/
- SELECT LAST_NAME, SALARY
- FROM EMPLOYEES
- WHERE ((SALARY < 5000) OR (SALARY > 12000))
- /*Oracle DB*/
- SELECT LAST_NAME, SALARY
- FROM EMPLOYEES
- WHERE SALARY NOT BETWEEN 5000 AND 12000
- /* 8. DESPLIEGUE EL APELLIDO, CÓDIGO DEL CARGO, Y FECHA DE INGRESO (HIRE DATE) PARA LOS EMPLEADOS CON APELLIDOS MATOS Y TAYLOR.
- ORDENE LA CONSULTA EN ORDEN ASCENDENTE POR FECHA DE INGRESO. */
- SELECT LAST_NAME, JOB_ID, HIRE_DATE
- FROM EMPLOYEES
- WHERE LAST_NAME = 'Matos' OR LAST_NAME = 'Taylor'
- ORDER BY HIRE_DATE ASC
- /* 9. DESPLIEGUE EL APELLIDO Y NÚMERO DE DEPARTAMENTO DE TODOS LOS EMPLEADOS DE LOS DEPARTAMENTOS 20 O 50 EN ORDEN ALFABÉTICO ASCENDENTE POR APELLIDO. */
- SELECT LAST_NAME, DEPARTMENT_ID
- FROM EMPLOYEES
- WHERE DEPARTMENT_ID = 20 OR DEPARTMENT_ID = 50
- ORDER BY LAST_NAME ASC
- /* 10. DESPLIEGUE EL APELLIDO Y NOMBRE DE CARGO DE TODOS LOS EMPLEADOS QUE NO TENGAN UN JEFE. */
- SELECT LAST_NAME, JOB_TITLE
- FROM EMPLOYEES, JOBS
- WHERE MANAGER_ID IS NULL AND (EMPLOYEES.JOB_ID = JOBS.JOB_ID)
- /* 11. DESPLIEGUE EL APELLIDO, SUELDO Y COMISIÓN DE TODOS LOS EMPLEADOS QUE HAYAN GANADO COMISIONES.
- ORDEN LOS DATOS EN ORDEN DESCENDENTE POR SUELDO Y COMISIONES. */
- SELECT LAST_NAME, SALARY, COMMISSION_PCT
- FROM EMPLOYEES
- WHERE COMMISSION_PCT IS NOT NULL
- ORDER BY SALARY DESC, COMMISSION_PCT DESC
- /* 12. ENCUENTRE EL SUELDO MÁS ALTO, EL MENOR, LA SUMA Y PROMEDIO DE SUELDOS DE TODOS LOS EMPLEADOS.
- ROTULE LAS COLUMNAS CON MAYOR, MENOR, SUMA Y PROMEDIO, RESPECTIVAMENTE. */
- SELECT ROUND(MAX(SALARY)) "MAYOR", ROUND(MIN(SALARY)) "MENOR", ROUND(SUM(SALARY)) "SUMA", ROUND(AVG(SALARY)) "PROMEDIO"
- FROM EMPLOYEES
- /* 13. MODIFIQUE LA CONSULTA ANTERIOR, PARA DESPLEGAR EL SUELDO MENOR, MAYOR, SUMA Y PROMEDIO DE CADA CARGO (JOB_ID). */
- SELECT JOB_ID, ROUND(MAX(SALARY)) "MAYOR", ROUND(MIN(SALARY)) "MENOR", ROUND(SUM(SALARY)) "SUMA", ROUND(AVG(SALARY)) "PROMEDIO"
- FROM EMPLOYEES
- GROUP BY JOB_ID
- /* 14. DESPLIEGUE LA CANTIDAD DE PERSONAS CON EL MISMO CARGO. */
- /*Utilizando descriptor*/
- SELECT JOBS.JOB_TITLE, COUNT(JOBS.JOB_TITLE) "SUMARIO"
- FROM EMPLOYEES, JOBS
- WHERE EMPLOYEES.JOB_ID = JOBS.JOB_ID
- GROUP BY JOBS.JOB_TITLE
- /*Utilizando el código*/
- SELECT JOB_ID, COUNT(*) "SUMARIO"
- FROM EMPLOYEES
- GROUP BY JOB_ID
- /* 15. DETERMINE LA CANTIDAD DE JEFES SIN EMPLEADOS. ROTULE LA COLUMNA COMO NRO_JEFES.
- INDICACIÓN: USE LA COLUMNA MANAGER_ID PARA DETERMINAR EL NÚMERO DE JEFES. */
- /*Dudas*/
- SELECT COUNT(DISTINCT MANAGER_ID) "Numero de Jefes"
- FROM EMPLOYEES
- /* 16. ENCUENTRE LA DIFERENCIA ENTRE EL SUELDO MAYOR Y EL MENOR, ROTULE LA COLUMNA COMO DIFERENCIA. */
- SELECT (MAX(SALARY) - MIN(SALARY)) "DIFERENCIA"
- FROM EMPLOYEES
- /* 17. ENCUENTRE LA DIRECCIÓN DE TODOS LOS DEPARTAMENTOS. USE LAS TABLAS LOCATIONS Y COUNTRIES. */
- SELECT COUNTRIES.COUNTRY_NAME, LOCATIONS.CITY, LOCATIONS.STREET_ADDRESS, DEPARTMENTS.DEPARTMENT_NAME
- FROM COUNTRIES, LOCATIONS, DEPARTMENTS
- WHERE (COUNTRIES.COUNTRY_ID = LOCATIONS.COUNTRY_ID) AND (LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID)
- /* 18. MUESTRE LA UBICACIÓN (LOCATION ID), DIRECCIÓN, CIUDAD, ESTADO O PROVINCIA, Y PAÍSEN LA SALIDA. */
- /*Standard SQL*/
- SELECT LOCATIONS.LOCATION_ID, LOCATIONS.STREET_ADDRESS, LOCATIONS.CITY, LOCATIONS.STATE_PROVINCE, COUNTRIES.COUNTRY_NAME
- FROM LOCATIONS, COUNTRIES
- WHERE COUNTRIES.COUNTRY_ID = LOCATIONS.COUNTRY_ID
- ORDER BY COUNTRIES.COUNTRY_NAME
- /*Ejercicio Resuleto*/
- SELECT LOCATION_ID, STREET_ADDRESS, CITY, STATE_PROVINCE, COUNTRY_NAME
- FROM COUNTRIES NATURAL JOIN LOCATIONS
- /* 19. DESPLIEGUE EL APELLIDO Y EL NOMBRE DE DEPARTAMENTO DE TODOS LOS EMPLEADOS. */
- SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, DEPARTMENTS.DEPARTMENT_NAME
- FROM EMPLOYEES, DEPARTMENTS
- WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
- /* 20. DESPLIEGUE EL APELLIDO, NÚMERO DE CARGO, NÚMERO Y NOMBRE DE DEPARTAMENTO DE TODOS LOS EMPLEADOS QUE TRABAJAN EN LA CIUDAD DE TORONTO. */
- SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, JOBS.JOB_ID, JOBS.JOB_TITLE, DEPARTMENTS.DEPARTMENT_ID, DEPARTMENTS.DEPARTMENT_NAME, LOCATIONS.CITY
- FROM EMPLOYEES, JOBS, DEPARTMENTS, LOCATIONS
- WHERE LOCATIONS.CITY = 'Toronto' AND (((LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID) AND (DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID)) AND (EMPLOYEES.JOB_ID = JOBS.JOB_ID))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement