Вы находитесь на странице: 1из 13

PRACTICA 1 Escribiendo Sentencias SELEC Bsicas

1. Inicie una sesin iSQL*Plus usando el ID del usuario y la clave provista por el
instructor.

2. Los comandos iSQL*Plus accede la base de datos.


Verdadero/Falso

3. La siguiente sentencia SELECT se ejecuta exitosamente:

SELECT emp_nombre, emp_cargo, emp_salario AS Sal


FROM empleados;

Verdadero/Falso

4. La siguiente sentencia SELECT se ejecuta exitosamente:


SELECT *
FROM GradosdeSalario;

Verdadero/Falso

5. Hay cuatro errores de cdigos en esta sentencia. Puede identificarlos?


SELECT emp_id, emp_nombre
Sal x 12 ANNUAL SALARY
FROM empleados;

6. Muestre la estructura de la tabla DEPARTAMENTOS. Selecciones todos los datos de


la tabla.

7. Muestre la estructura de la tabla EMPLEADOS. Cree una consulta para mostrar el


nombre, el cargo, fecha de contrato y nmero de empleado, por cada empleado, con
el nmero de empleado de primero. Salve su sentencia en un archivo nombrado
lab1_7.sql.

8. Ejecute la consulta guardada en el archivo lab1_7.sql.

9. Cree una consulta para mostrar los cargos distintos de la tabla EMPLEADOS.

Si tiene tiempo, complete los siguientes ejercicios:

10. Copie la sentencia desde lab1_7.sql. Nombre los encabezados de las columnas Emp
#, Empleado, Cargo, Fecha de contrato, respectivamente. Ejecute la consulta de
nuevo.

11. Muestre el nombre concatenado con el cargo, separado por una coma y un espacio. El
nombre de la columna debe ser Empleado y Cargo.

12. Cree una consulta para mostrar todos los datos de la tabla EMPLEADOS. Separe
cada columna con una coma y nombre la columna LA_SALIDA.
PRACTICA 2 Restringiendo y Ordenando Datos

1. Cree una consulta para mostrar el nombre y salario de los empleados que ganan ms
de $1200.000. Localice la sentencia SQL en un archivo nombrado lab2_1.sql. Ejecute
la consulta.

2. Cree una consulta para mostrar el nombre y el nmero del departamento para el
nmero del empleado 1300.

3. Modifique el archivo lab2_1.sql para mostrar el nombre y salario para todos los
empleados cuyo salario no este en el rango de $1000.000 y $2000.000. Localice la
sentencia SQL en el archivo nombrado lab2_3.sql.

4. Muestre el nombre, cargo y fecha de contrato de los empleados contratados entre el


10 de junio y el 7 de agosto de 2001. Ordene la consulta de forma ascendente por
fecha de contrato.

5. Muestre el nombre y el nmero del departamento de todos los empleados de los


departamentos 10 y 30. Ordene alfabticamente por nombre.

6. Modifique el archivo lab2_3.sql para listar el nombre y salario de los empleados que
ganan entre $1000.000 y $2000.000, y estn en los departamentos 10 o 30. Etiquete
las columnas Empleado y Salario Mensual, respectivamente. Resalve lab2_3.sql como
lab2_6.sql. Ejecute la sentencia del archivo lab2_6.sql.

7. Muestre el nombre y la fecha de contrato de cada empleado que fue contratado en el


2001.

8. Muestre el nombre y el cargo de todos los empleados que no tienen jefe.

9. Muestre el nombre, el salario y la comisin para todos los empleados que ganan
comisiones. Ordene los datos de forma descendente de salario y comisiones.

Si tiene tiempo, complete los siguientes ejercicios:


10. Muestre los nombres de todos los empleados donde la cuarta letra del nombre sea
una a.

11. Muestre el nombre de todos los empleados que tienen una a. y una e en su nombre.

12. Muestre el nombre, cargo y salario de todos los empleados cuyo cargo sea vendedor
u oficinista y cuyo salario no sea igual a $1200.000, $1550.000 o $1600.000.

13. Modifique lab2_6.sql para mostrar el nombre, salario y comisin para todos los
empleados cuya comisin sea el 48% del salario. Resalve lab2_6.sql como
lab2_13.sql. Reejecute la sentencia lab2_13.sql.
PRACTICA 3 Funciones de Fila Simple

1. Escriba una consulta que muestre la fecha actual. Etiquete la columna como Fecha
Actual.

2. Para cada empleado, muestre el cdigo del empleado, nombre, salario y salario
incrementado por 20%, redondear a centenares de miles. Etiquete esta columna como
Salario nuevo. Guarde la sentencia en un archivo con nombre lab3_2.sql.

3. Ejecute la consulta del archivo lab3_2.sql.

4. Modifique su consulta lab3_2.sql para adicionar una columna que sustrae el salario
viejo del nuevo. Etiquete esta columna como Incremento y salve el contenido en el
archivo lab3_4.sql y ejecutelo.

5. Escriba una consulta que muestre los nombres de los empleados con la primer letra
en mayscula y las dems letras en minscula, adems la longitud de los nombres,
para todos los empleados cuyos nombres empiecen con la letra A, J o M. Ordene el
resultado por el nombre de los empleados. Etiquete las columnas con nombres
apropiados.

6. Para cada empleado, muestre el nombre y calcule el nmero de meses entre la fecha
de hoy y la fecha en que fue contratado. Etiquete la columna como Meses Trabajados.
Redondee el nmero de meses trabajados a un nmero entero y ordene el resultado
por esta columna.

7. Escriba una consulta que produzca lo siguiente para cada empleado:


<nombre empleado> gana <salario> mensualmente, pero quiere ganar <3 veces el
salario>. Etiquete la columna Sueldo Deseado.

Si tiene tiempo, complete los siguientes ejercicios:


8. Cree una consulta que muestre el nombre y el salario de todos los empleados,
formateado a 15 caracteres, rellene los restantes con el signo $ (Eje: para un salario
de $7000.000, debe aparecer $$$$$$$7000000).

9. Muestre por cada empleado el nombre, fecha de contrato, fecha de contrato


formateada similar a 7 de Agosto, 2001, fecha de contrato formateada similar a
Seven de Agosto, 2001, fecha de contrato formateada similar a 7th de Agosto,
2001, fecha de contrato formateada similar a Seventh de Agosto, 2001. Etiquete las
columnas de forma adecuada.

10. Muestre por cada empleado el nombre, fecha de contrato y fecha del primer lunes
despus de 3 meses de servicio. Etiquete la columna como Fecha Revisada, formatee
la fecha para que aparezca similar a Lunes, el Dcimo de Noviembre, 2001.

11. Muestre el nombre, la fecha de contrato y el da de la semana en la cual el empleado


fue contratado. Etiquete la columna como DIA y ordene el resultado por el da
iniciando en el da Lunes.
12. Cree una consulta que muestre los nombres de los empleados y la cantidad de
comisin, si un empleado no gana comisin debe aparecer No Tiene Comisin,
etiquetar la columna como COMISION.

13. Cree una consulta que muestre el nombre del empleado e indique la cantidad de su
salario anual con asteriscos. Cada asterisco significa cien mil pesos, ordenar de forma
descendente de acuerdo al salario. Etiquetar la columna con
EMPLEADOS_Y_SUS_SALARIOS.

14. Usando la funcin DECODE, escriba una consulta que muestre el grado de todos los
empleados basado en la columna de cargo, como se aprecia abajo:

CARGO GRADO
Presidente A
Gerente B
Analista C
Vendedor D
Oficinista E

15. Reescriba la sentencia de la pregunta anterior usando la sintaxis CASE.


PRACTICA 4 Mostrando Datos de Mltiples Tablas

1. Escriba una consulta que muestre el nombre del empleado, nmero y nombre del
departamento para todos los empleados.

2. Cree una lista nica de todos los cargos que estn en el departamento 30, incluya la
localizacin del departamento.

3. Escriba una consulta que muestre el nombre del producto, nmero de la orden,
cantidad solicitad de las ordenes que tengan plan de comisin.

4. Muestre el nombre del empleado y del departamento para todos los empleados que
tienen una e en su nombre. Salve la sentencia en el archivo lab4_4.sql.

5. Escriba una consulta que muestre el nombre y cargo del empleado, y el nmero y
nombre del departamento de los empleados que trabajan en Bogot. Utilice la sintaxis
SQL 1999.

6. Muestre el nombre y nmero del empleado, con el nombre y nmero de su jefe.


Etiquete la columna Empleado, Emp#, Jefe y Jefe#, respectivamente. Salve la
sentencia en un archivo nombrado lab4_6.sql. Utilice la sintaxis SQL 1999.

7. Modifique lab4_6.sql para mostrar todos los empleados incluyendo al Presidente,


quien no tiene manager. Ordene el resultado por el nmero del empleado. Salve la
sentencia en un archivo nombrado lab4_7.sql y ejectelo. Utilice la sintaxis SQL 1999.

Si tiene tiempo, complete los siguientes ejercicios:


8. Cree una consulta que muestre el nombre del empleado, el nmero de departamento,
y el nombre de sus compaeros (empleados que trabajan en el mismo departamento).
Etiquete cada columna de forma adecuada.

9. Muestre la estructura de la tabla GradosdeSalario. Cree una consulta que muestre el


nombre, cargo, salario y grado del empleado y nombre de departamento, para todos
los empleados. Haga la consulta de las dos formas con sintaxis de Oracle y con
sintaxis SQL 1999.

10. Cree una consulta que muestre el nombre y la fecha de contrato de los empleados
contratados despus del empleado SANCHEZ. Haga la consulta de las dos formas
con sintaxis de Oracle y con sintaxis SQL 1999.

11. Muestre los nombres y las fechas de contrato de todos los empleados que fueron
contratados antes de sus jefes, con los nombres y las fechas de contrato de los jefes.
Etiquete la columna Empleado, Fecha de contrato Empleado, Jefe y Fecha de
contrato Jefe, respectivamente. Haga la consulta de las dos formas con sintaxis de
Oracle y con sintaxis SQL 1999.
PRACTICA 5 Agregando Datos usando Funciones de Grupo

Determine la validez de las siguientes tres sentencias.


1. Las funciones de grupo trabajan a travs de muchas filas para producir un resultado
por grupo.
Verdadero/Falso.

2. Las funciones de grupo incluyen los valores nulos en los clculos.


Verdadero/Falso.

3. La clusula WHERE restringe las filas antes de que se incluyan en los clculos de los
grupos.
Verdadero/Falso.

4. Muestre el salario ms alto, ms bajo, la suma y el promedio de los salarios de todos


los empleados. Etiquete las columnas como Mximo, Mnimo, Suma y Promedio,
respectivamente. Redondee el resultado al entero ms cercano. Salve la sentencia en
un archivo nombrado lab5_4.sql.

5. Modifique la consulta del archivo lab5_4.sql para que muestre el salario ms alto, ms
bajo, la suma y el promedio, por cada tipo de cargo. Salve en un archivo nombrado
lab5_5.sql.

6. Escriba una consulta para mostrar el nmero de personas que tienen el mismo
trabajo.

7. Determine el nmero de jefes sin listarlos. Etiquete la columna como Nmero de


Jefes.

Si tiene tiempo, complete los siguientes ejercicios:


8. Escriba una consulta que muestre la diferencia entre el salario mas alto y el mas bajo.
Etiquete la columna como DIFERENCIA.

9. Muestre el nmero del jefe y el salario ms bajo del empleado para ese jefe. Excluya a
quienes no se les conoce el jefe y tambin los grupos donde el salario mnimo es
menor a $1300.000. Ordene de forma descendente por salario.

10. Escriba una consulta que muestre cada nombre y localizacin del departamento,
nmero de empleados y el promedio del salario de todos los empleados de ese
departamento. Etiquete las columnas como Nombre, Localizacin, Nmero de
Empleados y Salario respectivamente. Redondear el promedio del salario a un
decimal.

11. Cree una consulta que muestre el total de empleados, y de ese total, el nmero de
empleados contratados en el 2001, 2002, 2003 y 2004. Etiquete las columnas de
forma adecuada.

12. Cree una consulta matriz para mostrar el cargo y el salario total de ese cargo, por
departamento, para los departamentos 10, 20 y 30. Se debe mostrar una fila por cargo
y como columnas: el nombre del cargo, departamento 10, departamento 20 y
departamento 30.
PRACTICA 6 Subconsultas

1. Escriba una consulta que muestre el nombre y su fecha de contrato de los


empleados que trabajan en el mismo nmero de departamento que JIMENEZ, excluya
a JIMENEZ.

2. Cree una consulta que muestre el nmero y el nombre de todos los empleados que
ganen ms que el salario promedio. Ordenar de forma ascendente por salario.

3. Escriba una consulta que muestre el nmero y nombre del empleado, para todos los
empleados que trabajen en cualquiera de los departamentos que trabaja cualquier
empleado que el nombre contenga la letra P. Salve la sentencia en un archivo
nombrado lab6_3.sql.

4. Muestre el nombre, nmero de departamento y cargo de todos los empleados cuya


localizacin del departamento sea CALI.

5. Muestre el nombre y el salario de cada empleado que tiene como jefe a LOPEZ.

6. Muestre el nmero del departamento, nombre y cargo de cada empleado en el


departamento CONTABILIDAD.

Si tiene tiempo, complete los siguientes ejercicios:


7. Modifique la consulta lab6_3.sql para mostrar nmero, nombre y salario del empleado,
de todos los empleados que ganen ms que el salario promedio y que trabajen en
cualquiera de los departamentos que trabaja cualquier empleado que contenga en su
nombre la letra P.
PRACTICA 7 Produciendo Salidas Legibles con iSQL*Plus

1. La siguiente sentencia es vlida.


DEFINE & p_val = 100
Verdadero/Falso.

2. El comando DEFINE es un comando SQL.


Verdadero/Falso.

3. Escriba un archivo script para mostrar el nombre, cargo y fecha de contrato para todos
los empleados que iniciaron contrato dentro de un rango de fecha dado. Concatene el
nombre y el cargo, separados por un espacio y una coma, y etiquete la columna como
EMPLEADOS. Muestre el formato de la fecha de la siguiente forma DD/MON/YY.
Salve en un archivo de script nombrado alb7_3.sql.

4. Escriba un archivo script para mostrar el nombre, cargo y nombre del departamento
para de cada empleado en una localizacin dada. La condicin de bsqueda debe
permitir bsquedas no sensibles a maysculas para la localizacin del departamento.
Salve en un archivo nombrado lab7_4.sql.

5. Modifique el cdigo del archivo lab7_4.sql, para crear un reporte que contenga el
nombre del departamento, nombre, fecha de contrato, salario mensual y anual de
cada empleado en una localizacin dada. Etiquete las columnas como NOMBRE
DEPARTAMENTO, NOMBRE EMPLEADO, FECHA DE CONTRATO, SALARIO
MENSUAL y SALARIO ANUAL. Coloque las etiquetas en dos lneas. Salve a un
archivo nombrado lab7_6.sql.
PRACTICA 8 Manipulando Datos

1. Ejecute la sentencia del archivo lab8_1.sql que construye la tabla MI_EMPLEADO que
ser usada en el laboratorio.

2. Describa la estructura de la tabla MI_EMPLEADO para identificar los nombres de las


columnas.

3. Adicione la primera fila de datos a la tabla MI_EMPLEADO de los siguientes datos de


ejemplo. No liste las columnas en la clusula INSERT.

MEMP_ID MEMP_APELLIDO MEMP_NOMBRE MEMP_LOGIN MEMP_SALARIO


1 ROBLEDO OMAR orobledo 1500000
2 NAVIA GUSTAVO gnavia 2300000
3 ALARCON LUCIA lalarcon 1700000
4 HURTADO MILENA mhurtado 950000
5 JURADO ROBERTO rjurado 670000

4. Poblar la tabla MI_EMPLEADO con la segunda fila del ejemplo de datos de la lista
anterior. Esta vez liste las columnas explcitamente en la clusula INSERT.

5. Confirme su insercin a la tabla.

6. Escriba una sentencia INSERT en un archivo llamado CargaEmp.sql, para cargar las
filas en la tabla MI_EMPLEADO, utilizando variables de sustitucin. Concatene la
primera letra del primer nombre y los primeros siete caracteres del apellido para
producir el login del usuario.

7. Poblar la tabla con las siguientes dos filas de los datos de ejemplo, ejecutando la
sentencia INSERT del script creado.

8. Confirme su insercin a la tabla.

9. Haga las inserciones de datos permanentes.

Actualice y elimine datos de la tabla MI_EMPLEADO.


10. Cambie el apellido del empleado con nmero tres a PEREZ.

11. Cambie el salario a $1200.000 para todos los empleados con un salario menor a
$1000.000.

12. Verifique sus cambios en la tabla.

13. Elimine el empleado LUCIA PEREZ de la tabla MI_EMPLEADO.

14. Confirme sus cambios en la tabla.

15. Realice de forma permanente los cambios realizados que estn pendientes.
Controlando las transacciones de datos de la tabla MI_EMPLEADO.
16. Poblar la tabla con la ltima fila de los datos con la sentencia creada en el script del
paso 6. Ejecute la sentencia del script.

17. Confirme su insercin en la tabla.

18. Marque un punto intermedio en el procesamiento de la transaccin.

19. Vace la tabla.

20. Confirme que la tabla esta vaca.

21. Descarte la operacin DELETE ms reciente, sin descartar las operaciones de


INSERT anteriores.

22. Confirme que las filas estn intactas.

23. Haga las inserciones de los datos permanentes.


PRACTICA 9 Creando y Manejando Tablas

1. Cree la tabla DEPT basado en la siguiente tabla, localice la sentencia en el script


llamado lab9_1.sql, y ejectelo para crear la tabla, luego compruebe que la tabla fue
creada.

Nombre Columna ID Nombre


Tipo Clave
Nulos/Unico
Tabla FK
Columna FK
Tipo de Dato NUMBER VARCHAR2
Longitud 7 25

2. Poblar la tabla DEPT con los datos de la tabla DEPARTAMENTOS. Incluya solo las
columnas que se necesitan.

3. Cree la tabla EMP basado en la siguiente tabla, localice la sentencia en el script


llamado lab9_3.sql, y ejectelo para crear la tabla, luego compruebe que la tabla fue
creada.

Nombre Columna ID Nombre Dept_ID


Tipo Clave
Nulos/Unico
Tabla FK
Columna FK
Tipo de Dato NUMBER VARCHAR2 NUMBER
Longitud 7 25 7

4. Modifique la tabla EMP para permitir que la longitud del nombre del empleado sea 50.
Confirme las modificaciones.

5. Confirme que tanto la tabla DEPT como EMP estn almacenadas en el diccionario de
datos (USER_TABLES)

6. Cree la tabla EMPLEADOS2 basado en la estructura de la tabla EMPLEADOS.


Incluya solo las columnas EMP_ID, EMP_NAME, EMP_SALARIO y DEP_ID. Nombre
las columnas en la nueva tabla ID, EMP_NAME, EMP_SALARIO y DEPT_ID,
respectivamente.

7. Borre la tabla EMP.

8. Renombre la tabla EMPLEADOS2 como EMP.

9. Adicione un comentario a las tablas DEPT y EMP, describiendo las tablas. Confirme
las inserciones en el diccionario de datos.

10. Borre la columna EMP_NOMBRE de la tabla EMP. Confirme la modificacin


chequeando la estructura de la tabla.
11. En la tabla EMP, marque la columna DEP_ID como NO USADA. Confirme la
modificacin chequeando la estructura de la tabla.

12. Borre todas las columnas NO USADAS de la tabla EMP. Confirme la modificacin
chequeando la estructura de la tabla.
PRACTICA 10 Incluyendo Restricciones

1. Adicione a nivel de tabla una restriccin PRIMARY KEY sobre la columna ID de la


tabla EMP, la restriccin debe ser nombrada como my_emp_id_pk. Verifique primero
que puede insertar un empleado con el mismo ID, haga ROLLBACK, y consulte la
vista USER_CONSTRAINTS, para verificar que no existe restriccin de clave primaria.

2. Cree una restriccin PRIMARY KEY sobre la columna ID de la tabla DEPT, la


restriccin debe ser nombrada como my_dept_id_pk.

3. Adicione una columna DEPT_ID a la tabla EMP. Adicione una llave fornea en la tabla
EMP que asegure que el empleado no se asigne a un departamento que no existe.
Nombre la restriccin como my_emp_dept_id_fk.

4. Confirme que las restricciones fueron adicionadas consultando la vista


USER_CONSTRAINTS. Verifique los tipos y nombres de las restricciones. Salve la
sentencia en un archivo llamado lab10_4.sql

5. Muestre los nombres y tipos de objetos de la vista del diccionario de datos


USER_OBJECTS para las tablas EMP y DEPT. Note que tablas e ndices fueron
creados.

Si tiene tiempo, complete los siguientes ejercicios:


6. Modifique la tabla EMP. Adicione una columna COMISION con tipo de dato NUMBER,
precisin 2 y escala 2. Adicione una restriccin para la columna COMISION que
asegure que el valor sea mayor o igual a cero.

Вам также может понравиться