Practicas de SQL
1. Mostar el contenido de cada una de las tablas del esquema de hr.
2. Mostrar el salario, nombre, apellido de los empleados.
3. Presentar el código del empleado, su nombre y apellido y su nombre concatenado
con una coma espacio y luego el apellido.
4. Realizar la pregunta anterior concatenando de una manera alterna.
5. Mostrar el código, salario y nombre del empelado. Adicionalmente Mostar un
proyección de la comisión. Esto se compone del salario por la comisión. También
realizar un calculo de proyección con la comisión aumentada en un 10%. Los
empleados sin comisión deben presentar 0 en las proyecciones.
6. Mostrar el contenido de la tabla de regiones con los encabezados de las columnas
en español y el contenido de las columnas en mayúsculas.
7. Mostrar los empleados del departamento 10.
8. Mostrar los empelados que no tienen jefe.
9. Mostrar los empelados que no se les paga comisión.
10. Presentar los departamentos cuyo código es menor de 500.
11. Mostrar el nombre del departamento y la tercera letra del nombre.
12. Mostar el nombre del departamento y la longitud del mismo.
13. Presente nuevamente el resultado anterior pero ordenado por la longitud.
14. Mostar el código del departamento y el nombre, así como el contenido del nombre
hasta la posición que corresponda a la línea desplegada.
15. Se necesita generar un archivo de datos del contenido de la tabla de empleados.
Este archivo es de tamaño fijo, por lo que debe de rellenar los campos numéricos
con ceros a la derecha y los de texto con espacios a la derecha. La longitud de los
campos en el archivo es la misma que tienen en la tabla.
16. Mostrar los diferentes títulos de trabajos(tabla jobs), de las siguientes manera:
todo en mayúscula, todo en minúscula, y las primeras 5 posiciones del nombre.
17. Presentar la información de los nombres y apellidos de los empleados. Las
vocales del nombre se deben sustituir por * y las de los apellidos por @.
18. Presentar la cantidad de días, y la cantidad de meses que tienen laborando los
empleados de la empresa.
19. Presentar el empleado y su salario. El salario debe ser rellenado de # a la derecha
y colocarle el símbolo de pesos. En total se deben presentar 20 posiciones en
todos los casos.
20. Mostrar los empleados, y el nombre del departamento en el que laboran.
21. Repetir el ejercicio anterior, pero en este caso los departamentos sin empleados
deben mostrarse.
22. Modificar este ejercicio para agregar la información de las localidades. Se quiere
ver el nombre de las mismas.
23. Mostrar el empleado, su fecha de contratación y su fecha de evaluación. Se
supone que esta se realiza seis meses después de su contratación.
24. Determinar el promedio de salario por departamento, así como el máximo salario
pagado y el mínimo.
25. Indicar el código y nombre o nombres de los empleados que ganan mas dinero por
departamento.
26. Presentar el nombre del departamento, su código y el total de salario ganado por
los empleados de este.
27. Determinar el promedio de salario por localidad.
28. Determinar el empleado que mas veces ha cambiado de trabajo. Auxiliarse de la
tabla Job History.
29. Determinar la cantidad de empleados que existen por el tipo de labor que
desempeñan.
30. Indicar el nombre del empleado cuya longitud de nombre es la mayor.
31. Crear una salida en formato de matriz que muestre la información de los
empleados por departamento y el rango de salario salario que ganan. Tenemos
tres rangos de 1 a 3000, de 3000 a 4999 y de 5000 o mas. La salida seria algo así.
Departamento Rango 1 a 3000 Rango 3000 a 4999 De 5000 o mas
IT 3 1 0
Sales 0 1 30
nota: Los valores anteriores no son reales, solamente iustran como se quiere la salida.
32. Mostrar el nombre del departamento y la cantidad de empleados por
departamento, así como el máximo y mínimo salario.
33. Encontrar la cantidad de empleados por región
34. Mostrar la fecha del día, presentando el nombre del día y del mes en vez de los
números.
35. Mostrar los empleados que ganan mas que el promedio de salario del
departamento en que laboran.
36. Indicar los empleados que ganan menos de 1/3 del salario que gana king
37. Mostrar el nombre del empleado, su código, salario y el nombre del departamento
en que labora utilizando subconsultas.
38. Indicar cuales son los principales n clientes utilizando subconsultas.
39. Indicar cuales son los principales n departamentos por el total de salario que se
ganan en este utilizando subconsultas.
40. Desplegar el nombre salario, nombre, apellido y codigo de los empleados.
Adicionalmente mostrar la cantidad de dinero que gana representado con un
grupo de signos de pesos a la derecha del salario, cada 100 en salario representan
un signo de pesos. Ej:
Juan Pérez 2000 $$$$$$$$$$$$$$$$$$$$
Maria Féliz 300 $$$
Jhon Doe 1500 $$$$$$$$$$$$$$$
Ordenar la información por salario de manera ascendente.
41. Crear la tabla Emp_dept_loc con la información correspondiente a el código,
nombre, apellido, salario, nombre del deprtamento que trabaja, y nombre de la
ciudad, en que labora el empleado.
42. Agregue una columna a la tabla anterior llamada Full_name que sea varchar2 de
60. Llenar esta columna con la información resultante de concatenar el nombre un
espacio y el apellido.
43. Agregar una columna llamada hire_date a la tabla, Emp_dept_loc.
44. Actualizar la columna hire_date, con la información de la columna hire_date de la
tabla de empleados (employees).
45. Agregue un nuevo empleado a la tabla emp_dept_loc. Coloque la información
relacionada a usted para completar los datos, para el codigo de empelado, utilice
9999 y la fecha de contratación con la fecha de sistema.
46. Actualice el empleado creado y colóquele un aumento de un 20%.
47. Elimine el empleado creado en la pregunta 45.
48. Cree una nueva tabla llamada emp_dept_loc2, con la información de la tabla de
emp_dept_loc, pero solamente para los empleado que ganan menos del promedio
de salario de la empresa.
49. Actualice la tabla emp_dept_loc2 y coloque el apellido y nombre todo en
minúscula.
50. Actualice la información de emp_dept_loc2 usando como fuente emp_dept_loc.
Para esto utilice el comando merge. Solamente actualice la información del
nombre y agregue los empelados que no existen en emp_dept_loc. Verifique que
fuesen exitosas las actualizaciones.
51. Presentar la siguiente salida, haciendo una consulta sobre la tabla emp_dept_loc.
El empleado NOMBRE_COMPLETO labora en la empresa desde el
FECHA_CONTRATACION y gana un sueldo de SALARIO. En donde
Nombre_completo, FECHA_CONTRATACION y SALARIO son columnas de la
tabla.
52. Eliminar la tabla emp_dept_loc2 de la base de datos.
53. Crear una vista llamada emp_dept_loc2, con la información correspondiente a el
código, nombre, apellido, salario, nombre del departamento que trabaja, y nombre
de la ciudad, en que labora el empleado.
54. Cree una nueva sesión a la base de datos con el mismo usuario con que esta
conectado. Ahora en esta nueva sesión borre la información de la tabla
emp_dept_loc, pero no haga commit. En la sesión vieja haga un count(*) a la
tabla emp_dept_loc. Cual fue el resultado de la consulta y porque. Ahora haga
commit en la sesión nueva y en la vieja realice nuevamente el count. Que paso
aquí y por que.
55. Realice una consulta en la cual se muestre la estructura jerárquica de la empresa.
Recuerde que el campo manager_id, muestra el código de empleado de mi jefe.
La información debe mostrarse indentada atendiendo a la jerarquía del empleado,
mientras jerárquicamente mas abajo se encuentre, mayor indentacion tiene.