Está en la página 1de 7

UNAPEC

DIPLOMADO EN BASE DE DATOS ORACLE


PROFESOR
BASE DE DATOS
ESTUDIANTE
MATRICULA

: LIC. ANTONIO RAFAEL DE LEON GUZMAN.


: ESQUEMA HR
: JOSE ISAAC RESTREPO IBARRA
: 2013-0477

I.- COMPLETE EN LA RAYA EN BLANCO CON EL CONCEPTO


CORRESPONDIENTE EN CADA CASO:
Hacer los siguientes querys
1) Listar todas las tablas del esquema hr (nota el catalogo)
SELECT * FROM CAT;

2) Listar cada una de las tablas en querys distintos


SELECT * FROM REGIONS;
SELECT * FROM LOCATIONS;
SELECT * FROM DEPARTMENTS;
SELECT * FROM JOBS;
SELECT * FROM EMPLOYEES;
SELECT * FROM JOB_HISTORY;
SELECT * FROM COUNTRIES;
3) En un a sola consulta poner cuantos registros tiene cada tabla, eje
TABLA
EMPLOYEES

REGISTROS
107

COUNTRIES
XXXX
ETC.
SELECT TABLE_NAME, NUM_ROWS FROM TABS;

4) Cuantos empleados ingresaron desde el primero de enero del dos mil


SELECT EMPLOYEE_ID, LAST_NAME || ',' || FIRST_NAME,
HIRE_DATE
FROM EMPLOYEES
WHERE HIRE_DATE >= TO_DATE ('2000-01-01','YYYY-MM-DD')
ORDER BY HIRE_DATE;

5) Listar acumulado del salario por cargo, nota se debe agrupar


SELECT JOB_ID, SUM(SALARY) FROM EMPLOYEES
GROUP BY JOB_ID;

6) Listar acumulado del salario por departamento


SELECT E.DEPARTMENT_NAME, SUM(D.SALARY)
FROM DEPARTMENTS E, EMPLOYEES D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
GROUP BY E.DEPARTMENT_NAME;

7) Listar acumulado del salario por pas


SELECT D.COUNTRY_NAME, SUM(E.SALARY)
FROM EMPLOYEES E, COUNTRIES D, LOCATIONS G,
DEPARTMENTS F
WHERE G.COUNTRY_ID = D.COUNTRY_ID AND G.LOCATION_ID =
F.LOCATION_ID
AND E.DEPARTMENT_ID = F.DEPARTMENT_ID
GROUP BY D.COUNTRY_NAME;

8) Listar acumulado del salario por regin


SELECT F.REGION_NAME, SUM(E.SALARY)
FROM EMPLOYEES E, COUNTRIES D, REGIONS F, DEPARTMENTS
A, LOCATIONS C
WHERE F.REGION_ID = D.REGION_ID AND E.DEPARTMENT_ID =
A.DEPARTMENT_ID
AND D.COUNTRY_ID = C.COUNTRY_ID AND C.LOCATION_ID =
A.LOCATION_ID
GROUP BY F.REGION_NAME;

9) Cuantos pases hay por regin (continente)


SELECT E.REGION_NAME, COUNT(D.COUNTRY_ID)
FROM REGIONS E, COUNTRIES D
WHERE E.REGION_ID = D.REGION_ID
GROUP BY E.REGION_NAME;

10)Listar por departamento cuantos empleados existen.


SELECT E.DEPARTMENT_NAME, COUNT(F.DEPARTMENT_ID)
FROM DEPARTMENTS E, EMPLOYEES F
WHERE E.DEPARTMENT_ID = F.DEPARTMENT_ID
GROUP BY E.DEPARTMENT_NAME;

11) Listar por departamento cual es el monto total por departamento, en otro
campo listar el mximo monto de sueldo por departamento, en otro
campo listar el mnimo monto de sueldo por departamento, en otro
campo listar el promedio de sueldo por departamento.
SELECT E.DEPARTMENT_NAME, SUM(D.SALARY) AS
MONTO_TOTAL,
MAX(D.SALARY)AS MONTO_MAX,
MIN(D.SALARY)AS MINIMO_MONTO,
TRUNC(AVG(D.SALARY),3)AS PROMEDIO
FROM DEPARTMENTS E, EMPLOYEES D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
GROUP BY E.DEPARTMENT_NAME;

12)Listar por rango de fechas desde 1989 hasta 1988 todos los empleados
cuyo salario sea mayor a 1000
SELECT HIRE_DATE, SALARY
FROM EMPLOYEES
WHERE HIRE_DATE BETWEEN TO_DATE('1989-01-01','YYYY-MMDD')
AND TO_DATE('1988-12-31','YYYY-MM-DD')AND SALARY > 1000;
***NO HAY DATOS QUE COINCIDAN
13)Listar todos los departamentos cuyos sueldos totales este dentro de
20,000 y 50,000.
SELECT HIRE_DATE, SALARY
FROM EMPLOYEES
WHERE HIRE_DATE BETWEEN TO_DATE('1989-01-01','YYYY-MMDD')
AND TO_DATE('1988-12-31','YYYY-MM-DD')
AND SALARY BETWEEN 2000 AND 5000;
*NO HAY DATOS QUE COINCIDA N
14)Listar todos los departamentos que tengas mas de 20 empleados.
SELECT E.DEPARTMENT_NAME, COUNT(D.DEPARTMENT_ID)
FROM DEPARTMENTS E, EMPLOYEES D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
GROUP BY E.DEPARTMENT_NAME
HAVING COUNT(D.DEPARTMENT_ID) > 20;

15)Crear un usuario llamado matricula-suya.

CREATE USERNAME E_20130447 IDENTIFIED BY E_20130477;


16)Consulte cuando usuarios usted tiene en su base de datos (dba_users)
SELECT USERNAME FROM DBA_USERS;
17)Consulte sus tablespaces (dba_tablespace)
SELECT * FROM DBA_TABLESPACES;
18)Consulte sus archivos de datos (dba_data_files).
SELECT * FROM DBA_DATA_FILES;
19)Escriba la ruta de su disco donde estn instalados los data files.
SELECT FILE_NAME FROM DBA_DATA_FILES;

También podría gustarte